When an app goes to background, the iOS will decide whether or not to completely stop your app or give it some time to complete what it's doing.
In case it wants your app to stop, the expiration handler is called.
If that's happening you should suspend all your tasks as fast as possible and prepare for a complete kill of the app, because that is what will happen a very short time after (5 seconds max). Take a look here.
Hope this helps you.