Правильный способ обработки исключений в AsyncDispose

При переходе на новые .NET Core 3 IAsynsDisposableя наткнулся на следующую проблему. Суть проблемы: если DisposeAsyncвыбрасывает исключение, это исключение скрывает любые исключения, созданные внутри await using-блока. class Program { static async Task Main() { try { await using (var d = new D()) {...