Warum friert Thread.Sleep () das Formular ein?

Ich versuche mit @ zu experimentierThread.Sleep(). Ich habe eine grundlegende Windows Forms-Anwendung mit einer Schaltfläche erstellt.

    private void button1_Click(object sender, EventArgs e)
    {
        Thread thread1 = new Thread(DoStuff);
        thread1.Start();

        for (int i = 0; i < 100000; i++)
        {
            Thread.Sleep(500);
            button1.Text +=".";
        }
    }

    public void DoStuff()
    {
       //DoStuff         
    }

Wenn ich auf meine Schaltfläche klicke, wird dasDoStuff Methode funktioniert gut, aber die GUI friert ein und es passiert nichts. Kann mir jemand erklären warum?