Is that message printed immediately upon entering the background? And is it every time it enters the background?
Do you have anything fancy going on inside your stop() method? e.g. does stop() wait for anything to complete, or does it start any longer running work?
Does it ever start to run your background fetch handler at all?
Do you have any other background stuff going on at all in your app? (e.g. background locations, background audio, native interfaces with background stuff, etc...)
Make sure you are calling the onComplete callback inside your background handler - and that it isn't running too long. (I suggest just putting in a simple System.out.println() and the callback for testing until you get it working).
And always remember, for iOS, that you have virtually no control over when or if iOS will call your background handler.
Steve