Контроллер удаленного представления в конечном итоге будет освобожден (если только другой объект не сохранит его), но ссылка не указывает точно, когда и как он был выпущен. Я не был бы удивлен, если это не немедленно выпущено; объекты UIKit могут использовать контроллер представления для анимации перехода. Он может быть автоматически выпущен, но не выпущен, что может объяснить ваши логи. Кроме того, я не удивлюсь, что внутри UINavigationController несколько объектов одновременно сохраняют контроллеры представления в стеке. Короче говоря, нет никакого документированного поведения при освобождении контроллеров с выталкиваемым представлением. Все, в чем мы можем быть уверены, это то, что он будет выпущен в какой-то момент, иначе это приведет к утечке памяти.
Следовательно, вы не знаете, когда контроллеры представления фактически освобождаются. Даже если вы обнаружите, что это может быть изменено без предварительного уведомления. Однако вы можете быть уверены, что представление исчезло, используя методы делегата UINavigationController.