C # - Alternativa para Thread.Slee

Estou fazendo tudo isso em c #, no Visual Studio 2008.

Quero diminuir o trabalho do meu algoritmo para que o usuário possa assistir ao seu trabalho. Há uma alteração periódica visível na GUI, então adicionei "thread.sleep" após cada instânci

Problem é que "thread.sleep", quando definido para pelo menos um segundo, após algumas instâncias de "thread.sleep" (após alguns loops) simplesmente congela a GUI inteira e a mantém assim até a conclusão do programa. Não imediatamente, mas sempre acontece. Quanto tempo depende da duração do sono.

Tenho provas de que todo o programa não congela, está funcionando, até o sono está fazendo pausas com duração correta. Mas a GUI congela em determinado ponto até o algoritmo terminar, e nesse momento mostra o estado final corret

Como resolver este problema? Alternativa à pausa do algoritmo em determinado ponto?

questionAnswers(4)

yourAnswerToTheQuestion