Попробуйте поймать за пределами: await Task.Run(() =>
иметь смысл или просто использовать их только внутри ожидающих?
private async void Test()
{
try
{
await Task.Run(() =>
{
try
{
DoingSomething();
}
catch (Exception ex)
{
log.Error(ex.Message);
}
});
}
catch (Exception ex)
{
log.Error(ex.Message);
}
}