I'm curious about the chain of object ownership in UIKit, going up from a UIViewController. Using the memory debugger in Xcode, I see that the UIViewController is owned (via a strong reference) by the UIWindow. The only strong reference to that UIWindow is from the app's UIApplicationDelegate.
The UIApplicationDelegate doesn't seem to have any inbound strong references (the UIApplication has a weak reference). What object actually owns the delegate and prevents it from being deallocated?