У меня только что была очень похожая проблема в моем приложении. Я обнаружил, что он не связан с самим ModalViewController, а отображает его на контроллере представления.
Если вы профилируете приложение, используя опцию зомби в Профилировщике, вы сможете увидеть, что что-то выпускается, чего не должно быть (скорее всего, UIImage или UIView). Вы должны быть в состоянии отследить функцию, где был размещен зомбированный объект, чтобы найти реальный объект, вызывающий проблему.
Я предполагаю, что причина, по которой ошибка отображается при закрытии ModalViewController, заключается в том, что различные элементы представления вызываются для перерисовки или обновления после того, как диалоговое окно исчезает, а затем происходит доступ к чему-то, что было выпущено, когда этого не должно было быть.
Надеюсь, это поможет.