I'm no guru, but my guess is that RWLS is more geared towards heavy contention (e.g., hundreds of threads) whereas Monitor
is more attuned towards those one-off synchronization issues.
Personally I use a TimerLock
class that uses the Monitor.TryEnter
with a timeout parameter.