C # 5.0 async aguarda devolver una lista

Estoy aprendiendo sobre async / await, y me encontré con una situación en la que necesito llamar a un método async que debería devolver un objeto o una lista del mismo objeto.
¿Es esta la forma correcta de implementar?

de AManager.cs

public async Task Initialize(string objectPath)
{
    AnObject someObject = await BClass.GetAnObject(objectPath);
}

Y este es el método llamado.

Class B:
public async Task<AnObject> GetAnObject(string objectPath)
{
    AnObject someObj = new AnObject();
    return someObj;
}

¿Qué pasa si quiero devolver una lista de objetos? Debería crear un contenedor que contenga una lista? y devolver esa envoltura?
Porque esto no es aplicable:

public async Task<List<AnObject>> GetAnObject(string objectPath)

Respuestas a la pregunta(2)

Su respuesta a la pregunta