I don't think you need **BeginInvoke** in this case, **DispatcherTimer**'s Tick call always guaranteed to be on the main UI thread. Can you try removing this and see?