У меня тоже такая же проблема ..
Попробуйте что-то вроде этого:
NSLog("self.view retain count: %d", self.view.retainCount);
[self.view removeFromSuperview];
NSLog("self.view retain count: %d", self.view.retainCount);
или
NSLog("self.view.superview retain count: %d", self.view.superview.retainCount);
[self.view removeFromSuperview];
NSLog("self.view.superview retain count: %d", self.view.superview.retainCount);
Это не очень хорошая практика, но, возможно, вы обнаружите ошибку утечки памяти ...
Если вы используете ARC - он не защитит вас от ошибок управления памятью ...
Извините за мой английский, если что-то не так.