In my app, I create view controller objects as I need them. When a view controller goes away, I get rid of it by calling -removeFromSuperview on it's view and then set the retaining property to nil.
That way my app uses very low memory all the time. But there's a problem: I have heavy animations going on in some view controllers, and every animation always has an animation delegate which is self. Now the thing that happens is: When there are animations running and I drop the view controller, it goes away - and at some point when one of those animations finishes it seems to crash.
So the question is: How to remove any running animation from a view and all it's subviews?