Есть ли какая-то практическая причина, почему команда .NET решила не поддерживать логическую операцию в Interlocked.Exchange?
Один из примеров использования - это когда вы хотите гарантировать, что какой-то код выполняется только один раз, и вы хотите использовать для этого логический флаг.