Consider this method:
//Called on a known thread
    public async void ThreadSleep()
    {
     while(itemsInQueue)
      {
        //This call is currently on Thread X
        await Task.Delay(5000);
       //This needs to be on the thread that the method was called on
        DoSomeProcessing();
       }
    }
I am assuming that the Task.Delay is executing async on a different thread and resumes on that same thread. This was not very obvious to me. How do I get the method to continue on Thread X?
PS: The ThreadSleep method executes on a non UI thread
Edit: 1) Added W.Brian's code example for simplicity.
2) Yes, this example is exactly that... an example.
3) The purpose of Thread.Delay is just to add some delay between processing.
 
     
     
    