What could prevent a keyboard extension from going through its basic life-cycle?

I have a custom keyboard extension and container app which I wrote. I am using the keyboard extension in the host app (iNotes).


I bring up iNotes and my custom keyboard, press the home button (sending iNotes to the background), double-tap home button and bring iNotes to the foreground.


Nine times out of ten my keyboard extension will be re-instantiated when iNotes comes to the foreground. I.e., it goes through init(nibName:bundle:) and viewDidLoad().


One time out of ten my keyboard extension is not re-instantiated. It doesn't matter which device or which version of iOS.


The basic life cycle of a keyboard extension appears to be the nine times out of ten scenario. My keyboard extension does not do any background processing, so what could prevent the keyboard extension from going through the system creates->use->system kills life-cycle?