using System;
using System.Threading.Tasks;
var task = new Task(async () =>
{
await Task.Delay(500);
Console.WriteLine("after delay");
});
task.Start();
await Task.WhenAll(task);
Console.WriteLine("after when all");