iOS8でアプリケーションがバックグラウンドモードに移行したあとも、周期的にタスクを動かしたいと思い、ドキュメントを見ながら以下のようなコードを書いてみました。しかし、思い通り動いてくれません。なにか見落としがあるのでしょうか。

以下、AppDelegate.swiftより抜粋。

let backgroundQueue = dispatch_get_global_queue(QOS_CLASS_BACKGROUND,0)

func applicationDidEnterBackground(application: UIApplication) {
    println("did enter background")
    dispatch_async(self.backgroundQueue, myBackgroundTask)
}

func myBackgroundTask() {
    NSThread.sleepForTimeInterval(0.5)
    println("this is back ground task")
    dispatch_async(self.backgroundQueue, myBackgroundTask)
}