Рекомендую memtrack. Позволит построчно отображать кто что съел. Если это крон, то лучше ещё вызывать коллектор gc_collect_cycles. И проверьте что сборщик мусора вообще включен.
Про память, действительно, не пишет но по дереву запросов с подсчетом времени и количества вызовов можно выявить бесконечные рекурсии и циклы. Такие ситуации обрабатываются интерпретатором но если объекты которые создаются в проблемном месте слишком большие то Out of memory может опередить другие ограничения (на время выполнения к примеру).