I have an iOS-App which uses ARC. I don't use InterfaceBuilder, all UI is generated manually. In that app I have several UIViewControllers with SubViewControllers. Those ViewControllers a tied together from a menu (-ViewController) who pushes them on the stack.

My problem is, that memory doesn't get freed when switching between the ViewControllers.

Is it wrong to keep references to the SubViewControllers like this?

```
@property (nonatomic, strong) UIViewController subViewController1; 
@property (nonatomic, strong) UIViewController subViewController2;

```

viewDidUnload never gets called. Has anyone a good example how to build a clean view hierarchy?