В вашем исправленном коде myVC сохраняется контроллером навигации и будет освобожден (и освобожден), когда он будет извлечен из стека. Если это поведение, которое вы ищете, то да, этот код просто отлично.
Если вам нужно, чтобы myVC зависал для повторного использования или чего-то еще позже, переместите выпуск в метод dealloc вашего родительского класса и удалите присвоение nil.