Yes, an Async task often (though not always) calls a callback on a thread other than the UI thread. Therefore, the existence of the Dispatcher property in everything that has a user interface (and even this is not so). You need to make sure that the code to run in the user interface is invoked in the user interface thread.
Unfortunately, the documentation about what may and cannot be changed from a thread other than the UI is very small, most likely because it can change from one version to another.
source share