title: UIViewController not releasing subviews when dealloc (using ARC)
body: <p>I have what seems like a weird (non?) issue with UIViewController.  It appears that the controller is not releasing its subviews when it is dealloc'd.  I placed NSLog messages in all of the subview's dealloc method as well as the view controller.  The view controller dealloc gets called but the subview's do not.  However, if I then push another instance of that view controller on to the navigation stack, it appears that all of the subviews of the previous instance are then released (I get a bunch of NSLog messages in the console letting me know).  I've check and I have no separate reference to the custom view controller in the presenting view controller (the one that's doing the pushing).</p>
  
  <p>One small (maybe) detail: The custom view controller does receive a block it stores and then executes before popping.  However, I did send nil to it and I get the same behavior.  Plus, the presenting view controller does dealloc when popped of the stack, so no retain cycle.</p>
  
  <p>Also, I did try explicitly releasing each view in the dealloc method of the custom view controller.  Same behavior.</p>
  
  <p>Is it possible the navigation controller would be holding on to it?  It doesn't seem to do this to any of my other view controllers.</p>
  
  <p>My problem is that this does represent a memory leak (of all those subviews); though the leak doesn't stack, it's still a leak.</p>