Как определить причину утечки памяти в PHP скрипте?
Есть. 
Причина утечки - прокладка. Между стулом и монитором.
В данном случае причина -Получаю массив записей из бд
Получать записи надо не массивом, а по одной.
И никакая память никуда утекать не будет. ДАЖЕ если не ансетить те переменные, которые и так будут перезаписаны при следующей итерации.
Код в студию.