Поговорим о ConfigureAwait ч.5
Могу ли я использовать Task.Run, чтобы избежать использования ConfigurationAwait(false)? Да. Если вы напишете: тогда a ConfigureAwait(false) в этом SomethingAsync() вызове будет nop, потому что переданный делегат Task.Run будет выполнен в потоке пула потоков, без пользовательского кода выше в стеке, так что он SynchronizationContext.Current вернет null. Кроме того, Task.Run неявно используется TaskScheduler.Default, что означает, что запрос TaskScheduler.Current внутри делегата также вернет Default...