() => { while (dt > DateTime.Now) Task.Delay(500).Wait(); }
の方が素直か。
何かTask.Delay使った方がいい理由ってあるかな