winrt::resume_background() and now you are on a thread from a thread pool, you do your job and next you switch back on the UI thread with winrt::resume_foreground(context), the context must be the one captured before resuming to the background or use the UI dispatcher to run something on the UI thread