このことを考慮、
Task task = new Task (async () =>{
await TaskEx.Delay(1000);
});
task.Start();
task.Wait();
task.Wait()の呼び出しはタスクの完了を待たず、次の行がすぐに実行されますが、非同期ラムダ式をメソッド呼び出しにラップすると、コードは期待どおりに機能します。
private static async Task AwaitableMethod()
{
await TaskEx.Delay(1000);
}
その後(svickからのコメントに従って更新)
await AwaitableMethod();