Formularz zawiesza się podczas pętli while

Mam fragment kodu, który sprawdza, czy dana aplikacja jest uruchomiona

while (Process.GetProcessesByName("notepad").Length == 0)
{
     System.Threading.Thread.Sleep(1000);
}

Sprawdzi, czy użytkownik uruchamia Notatnik, ale powoduje zamrożenie formularza i przestaje odpowiadać po kilku sekundach. Nie wiem, czy istnieje lepsze rozwiązanie tego problemu.

questionAnswers(3)

yourAnswerToTheQuestion