Если вы пишете библиотеки, то в большинстве случаев следует вызывать ConfigureAwait(false) везде, где используется await. Это связано с тем, что продолжение через контекст синхронизации может быть затратным, а в некоторых случаях способно привести к взаимоблокировке. Единственным исключением являются случаи, когда вы делаете что-то, что определенно требует сохранения контекста синхронизации, или же вы точно знаете, что ваша библиотека всегда будет использоваться только в средах приложений, которые не устанавливают контекст синхронизации. (Например, приложения ASP.NET Core не используют контексты синхронизации, поэтому обычно не имеет значения, вызываете ли вы в них ConfigureAwait(false).)