WaitHandle.WaitOne() has an ExitContext option to allow for temporary release of a resource lock before holding for another. This is useful in some cases where dead-lock or thread starvation may occur.
The msdn documentaiton talks about a dondefault context. They only refer to examples which constitutes being in a nondefault context involving ContexBoundObject see (Related Qusetion).
Do other synchronization options such as Monitor.Enter(), Lock{} statements also constitute nondefault context? What other scenarios would place a thread execution in nondefault context?