Контроллер навигации сохраняет все контроллеры представления, помещенные в его стек, поэтому, если вы гарантируете, что такие контроллеры представления автоматически выпускаются или у вас нет никаких претензий к ним (например, alloc, push, release), они будут автоматически освобождены, когда совал.
Если вы делаете это и все еще теряете память, возможно, вы чрезмерно сохраняете свои пользовательские представления из их контроллеров представления?
Трудно сказать, не видя код, но одна вещь, которая может оказаться полезной, - это реализовать -didReceiveMemoryWarning на всех ваших UIViewControllers и записать их подробности - тогда, если вы видите предупреждение памяти от контроллера представления, которое, по вашему мнению, должно быть освобождено , у вас есть отправная точка для дальнейшего расследования.
Кроме того, вы пробовали Clang Static Analyzer? Инструмент «Утечки» полезен, но дает много ложных негативов. CSA тоже не панацея, но она ловит некоторые вещи, которые пропускает Утечка.