public Task Method3() { return(Run(async() => { Debug.WriteLine("I am in a ba service, method 3, thread = " + Thread.CurrentThread.ManagedThreadId); await Method2(); Debug.WriteLine("I am in a ba service, method 3, thread = " + Thread.CurrentThread.ManagedThreadId); await _uiService.Method2(); Debug.WriteLine("I am in a ba service, method 3, thread = " + Thread.CurrentThread.ManagedThreadId); await Method2(); Debug.WriteLine("I am in a ba service, method 3, thread = " + Thread.CurrentThread.ManagedThreadId); })); }