If the session was a background session, and the app terminated before downloads were done, when the app is restarted automatically when the downloads are done, there is no observer to remove (and presumably there’s no point in calling `removeDelegateForTask` either). Without this edit if the background `NSURLSession` restarts the app, only the first task that completed in the background will be successful, and all of the subsequent ones won’t.
Add warning about relying upon these blocks when using iOS with background `NSURLSessionConfiguration`.