Ouvi em algum lugar que o C # 5 async-waitit será tão incrível que você não precisará se preocupar em fazer isso: if (InvokeRequired) { BeginInvoke(...); return; } // do your stuff here Parece que o retorno de chamada de uma operação de espera ocorrerá no encadeamento original do chamador. Eric...