Ожидание await в C#
Оператор await останавливает async-метод, пока задача не завершится, и на это время отпускает поток. Пока результата нет, поток может выполнять другую работу.
Дальше метод идёт со следующей строки. В программе с окном продолжение обычно возвращается в тот поток, где метод начинался.
Подождём короткую паузу и выведем строку после неё:
await Task.Delay(5);
Console.WriteLine("done"); // выведет "done"
Посчитайте в фоне квадрат числа 6 и выведите результат.