The answer is that we have to create a Task object that runs the worker code on a different thread. This how the UI thread can be released to do some other work and where the multithreading comes into ...