La tarea asíncrona está congelando la interfaz de usuario

Tengo un método como este:

private async Task DoSomething()
{
    // long running work here.
}

Cuando llamo al método como este, bloquea la interfaz de usuario:

Task t = DoSomething();

Tengo que hacer uno de estos para que no se bloquee:

Task t = new Task(() => DoSomething());
t.Start();

// Or

Task t = Task.Factory.StartNew(() => DoSomething());

Entonces, ¿cuál es el punto de async / await cuando puede usar las Tareas como estaban en el marco 4 y usarTask.Wait() en lugar deawait?

EDITAR: Entiendo todas sus respuestas, pero ninguna realmente aborda mi último párrafo. ¿Puede alguien darme un ejemplo de subprocesos múltiples basados ​​en tareas donde async / await mejora la legibilidad y / o el flujo del programa?

Respuestas a la pregunta(3)

Su respuesta a la pregunta