Forçar atualização de GUI a partir do thread de interface do usuário

No WinForms, como forçar uma atualização imediata da interface do usuário do thread da interface do usuário?

O que estou fazendo é aproximadamente:

label.Text = "Please Wait..."
try 
{
    SomewhatLongRunningOperation(); 
}
catch(Exception e)
{
    label.Text = "Error: " + e.Message;
    return;
}
label.Text = "Success!";

O texto do rótulo não é definido como "Aguarde ..." antes da operação.

Eu resolvi isso usando outro thread para a operação, mas fica peludo e eu gostaria de simplificar o código.

questionAnswers(11)

yourAnswerToTheQuestion