O programa C ++ morre com std :: bad_alloc, mas o valgrind relata que não há vazamento de memória

Meu programa falha com a mensagem de erro 'std :: bad_alloc'. O programa é escalável, por isso testei em uma versão menor com o valgrind e não há vazamentos de memória.

Esta é uma aplicação da mecânica estatística, por isso estou basicamente criando centenas de objetos, alterando seus dados internos (neste caso, stl vetores de dobros) e gravando em um arquivo de dados. A criação de objetos fica dentro de um loop, portanto, quando termina, a memória fica livre. Algo como:

for (cont=0;cont<MAX;cont++){
         classSection seccion;
         seccion.GenerateObjects(...);
         while(somecondition){
                seccion.evolve();
                seccion.writedatatofile();
         }}

Portanto, existem duas variáveis que definem o tempo de computação do programa, o tamanho do sistema e o número de execuções. Existe apenas uma falha em grandes sistemas com muitas execuções. Alguma idéia de como pegar esse problema de memória?

Obrigado,

questionAnswers(2)

yourAnswerToTheQuestion