I would like to ask whether the Task.Delay calls Task.Run underneath and it is reason of change of thread id or there is different logic behind it?
async Task Main()
{
Console.WriteLine(Thread.CurrentThread.ManagedThreadId); //11
await Task.Delay(200);
Console.WriteLine(Thread.CurrentThread.ManagedThreadId); //22
}