Sì, c'è.
Prima di tutto non usare FindAsync , usa Find invece. Su IFindFluent risultato usa il SingleAsync metodo di estensione e attendi l'attività restituita all'interno di un metodo asincrono:
async Task MainAsync()
{
IMongoCollection<ApplicationUser> userCollection = ...;
var applicationUser = await userCollection.Find(_ => _.Id == inputId).SingleAsync();
}
Il nuovo driver utilizza esclusivamente async-await. Non bloccarlo utilizzando Task.Result .