I'm using Xamarin.Forms in an existing Xamarin.iOS project with a UINavigationController. When popping the controller, the custom renderer is never invoked. When using the custom renderer in a ContentPage as part of a NavigationPage, popping the view properly frees the object. Even simply instantiating the UIViewController with CreateViewController() then disposing it doesn't call the overridden Dispose. To make things even more confusing, regular custom UIViewController classes are disposed of when popped from the UINavigationController.
What kind of black magic is required to dispose of a UIViewController containing a Forms custom renderer?