await Task.Run(() => {
textBox1.Invoke((Action)delegate { textBox1.Text = "Загрузка "; });
});
Убери await Task.Delay(500). Любые задержки портят работу приложения. Они только в исключительных ситуациях нужны. Вместо них лучше сделать проверку через текущее время