applied ConfigureAwait(false) to avoid potential deadlocks. This also has slight perf inprovment. Refer to http://channel9.msdn.com/Series/Three-Essential-Tips-for-Async/Async-library-methods-should-consider-using-Task-ConfigureAwait-false- for more info