To get it to work.
In your class
private SynchronizationContext synchronizationContext;
In the UI thread (main thread)
synchronizationContext = System.Threading.SynchronizationContext.Current;
In the worker thread
synchronizationContext.Post(
state => DoUpdateInUIThread((Abc)state),
abc);