Tarea asíncrona <HttpResponseMessage> Get VS HttpResponseMessage Get

Necesitaría tu ayuda en lo siguiente. Durante casi un mes, he estado leyendo sobre Tareas y asíncrono.

Quería tratar de implementar mi nuevo conocimiento adquirido, en un simple proyecto wei api. Tengo los siguientes métodos y ambos funcionan como se esperaba:

 public HttpResponseMessage Get()
 {
        var data = _userServices.GetUsers();
        return Request.CreateResponse(HttpStatusCode.OK, data);
 }

public async Task<HttpResponseMessage> Get()
{
        var data = _userServices.GetUsers();


        return await Task<HttpResponseMessage>.Factory.StartNew(() =>
        {
           return Request.CreateResponse(HttpStatusCode.OK, data);
        });
 }

Entonces la pregunta. He intentado usar el violinista y ver cuál es la diferencia entre estos dos. El asíncrono es un poco más rápido, pero aparte de eso, ¿cuál es el beneficio real de implementar algo así en una API web?

Respuestas a la pregunta(3)

Su respuesta a la pregunta