Вопрос решен.
spoiler
Для того чтобы привести xml к нужному мне виду (ассоциативный массив) я использовал последовательно связку встроенных функций из simplexml_load_file, json_encode json_decode (true), и проблема была именно в них.
Замер (приблизительный) переменной, полученной после simplexml_load_file дал вполне себе вменяемый расход
памяти. Соответственно, проблема была с функциями которые работают с JSON. Сразу же вспомнил, что скрипт всегда падал на json_decode (true), но в тот момент думал, что она последняя в очереди на обработку и ей просто не хватает выделанной памяти.
Далее. Ни unset () ни присваивание null переменным которые получались в ходе работы функций не оказали значимого эффекта.
Проблема устранена после того как исключил json_encode json_decode (true) из кода (получаю массив из xml иным способом, остальной код тот же, файлы те же).
Потребление памяти стабильно и в разумных пределах, скрипт не падает, выполняется за 2-3 секунды (не указал это ранее. но время выполнение скрипта тоже варьировалось от нескольких секунд до минуты.)