Tempo fa mi sono imbattuto nel problema working with threads nelle applicazioni WPF.
Vi consiglio di dare un'occhiata alla classe
System.Windows.Threading.DispatcherTimer
la quale vi permette di avere un Timer asincrono che può andare a modificare anche l'UI. Molto simile al BackgroundWorker del Framework 2.0.
NOTA: non esiste ancora la relativa documentazione sull'Msdn Library...