Actually I think I solved the issue. This is what was happening in my app:
UIViewController subclass instance was removed from UIPageViewController by removing it from model and setting viewControllers property of UIPageViewController to different ViewController. This is enough to do the job. No need to do any controller containment code on that controller
The ViewController was gone, but I could still scroll to it by swiping right in my case.
My issue was this. I was adding a custom gesture recognizer to ViewController displayed by UIPageViewController. This recognizer was hold as a strong property on the controller that also owned UIPageViewController.
FIX: before loosing access to the ViewController being dismissed I made sure I properly cleaned all the memory it uses(dealloc) and removed the gesture recognizer
Your mileage may vary, but I see no point for this solution to be wrong, when something's not working I first suspect my code :)