Finalmente consegui encontrar a solução. Descobri que quando o lixo da coleção do PHP está ficando cheio, não há como liberá-lo.
Unset
e gc_collect_cycles()
também não são eficazes. A única maneira é usar Function
em diferentes seções de códigos. No meu caso, eu tinha um script grande em um loop for, então copiei todos os meus códigos em uma função, e no meu loop eu chamo a função. Cada vez que a função silencia, a memória fica livre. Você pode testá-lo adicionando memory_get_usage()
uma vez em sua função e uma vez fora da função para ver a diferença.