大幅な変更場所の更新によってアプリケーションがウェイクアップしたときに、BackgroundTaskWithExpirationHandlerを開始します。以下のようにタスクを閉じることが重要ですか?
if (bgTask != UIBackgroundTaskInvalid)
{
[[UIApplication sharedApplication] endBackgroundTask:bgTask];
bgTask = UIBackgroundTaskInvalid;
}
タスクを閉じないとどうなりますか。