Почему элемент цикла Для Каждого остается инициализированным после завершения цикла?
Все верно. Это правильное поведение еще со времен платформы 8.0
Цикл находится внутри контекста процедуры/функции. В языке 1С в отличии от C++ нельзя просто взять и процедурными скобками объявить еще один изолированный контекст, переменные которого удалятся при выходе за его рамки. Все переменные, которые создаются в рамках условий и циклов продолжают существовать и хранить полученные значения до завершения всей текущей выполняемой процедуры. Если вам нужно беречь память, то после вашего цикла вам самим нужно позаботится об очистке содержимого уже ненужных служебных массивов и таблиц.
На последней версии платформы переменная цикла не зануляется и остается инициализированной.
Не баг, а фича.