Updating WPF MainWindow from an async task
I would look into MVVM, then your async task will operate on the ViewModel and not the UI element. Then WPF will update the UI when it deem fit.

I like Caliburn.Micro for the MVVM parts 

https://github.com/Caliburn-Micro