Desserialização JSON assíncrona

Eu preciso fazer um RestRequest e obter algum JSON, não tenho certeza se meu método é realmente assíncrono, pois ainda há um pouco de congelamento na minha interface do usuário quando uso esse método.

 public async Task<List<MyObject>> Load() 
            {
                var tcs = new TaskCompletionSource<List<Myobject>>();
                var client = new RestSharp.RestClient("https://exampleapi.com");
                client.Authenticator = OAuth1Authenticator.ForProtectedResource(
           [...]);
                var request = new RestSharp.RestRequest("examp.json", Method.GET);
                client.ExecuteAsync(request, response =>
                {
                    if (response.StatusCode == HttpStatusCode.OK)
                    {
                        List_ = new List<MyObject>();
                        List_ = JsonConvert.DeserializeObject<List<MyObject>>(response.Content);
                        tcs.SetResult(List_);
                    }
                    else
                    {
                        MessageBox.Show("Error");
                    }
                });
                return await tcs.Task;        
            }

Especialmente para esta linha de código:

List_ = JsonConvert.DeserializeObject<List<MyObject>>(response.Content);

é realmente assíncrono? porque parece bloquear a interface do usuário. Você pode me dizer como posso fazer com que essa função assine corretamente?

questionAnswers(2)

yourAnswerToTheQuestion