Оба метода заставляют текущую функцию спать, а затем продолжают выполняться, но в чем реальная разница между ними? await потребует, чтобы метод был асинхронным, почему бы просто не использовать Thread.Sleep?
Когда не следует использовать Thread.Sleep, но Task.Delay?