tvOS Swift Why is SKScene dealloc is temperamental?

So I have a main menu UIViewController which then presents a new UIViewController with an SKView containing a SKScene. I have no code inside the setup other than the essentials to get the heirarchy working.

The problem is that when the SKScene view delegates its UIViewController to call

self.dismissViewControllerAnimated(true, completion: {})
on itself, sometimes the expected behaviour of the UIViewController deallocating followed by the SKScene deallocating happens (I'm checking this by logging the deinit methods in each). But half the time only the UIViewController will deallocate leaving the SKScene still alive & running (although not visible). When this happens the SKScene will still be running UNTIL you make any touch or button press on the remote and then the SKScene will stop running & finally dealloc!

Can anyone give me any idea why this might be happening? Something is randomly holding a strong reference to the SKScene. Could it be to do with focus or touch?!

UPDATE:

It appears not to be to do with focus or the focus engine, as I'm calling

setNeedsFocusUpdate()
&
updateFocusIfNeeded()
after the menu UIViewController has appeared. Focus gets updated, but it does not solve the problem. And also the SKScene
deinit()
happens before the
override func touchesBegan()
method in the menu UIViewController is even called when the controller is touched to kill the SKScene!