Chamar new [] duas vezes no mesmo ponteiro sem chamar delete [] no meio causa um vazamento de memória?

Ouvi dizer que você geralmente deve "excluir" sempre que usar "novo", mas quando executo um programa de teste simples (abaixo), não parece fazer diferença os números que coloquei para arraySize ou numLoops. Isso causa um vazamento de memória?

#include <iostream>

int main()
{
    double *array;
    const int arraySize = 100000;
    const int numLoops = 100000;

    for (int i = 0; i < numLoops; i++)
    {
        // do I need to call "delete [] array;" here?
        array = new double[arraySize];
    }

    int x;
    std::cin >> x; // pause the program to view memory consumption

    delete [] array;

    return 0;
}

questionAnswers(12)

yourAnswerToTheQuestion