As Selvin has pointed out, I was starting a new thread for MessageLoop. Calling MessageLoop in ExecuteAsync solved the problem. Thank you Selvin.