I would like to compile a list of all possible conditions making Monitor go to kernel-mode / use kernel sync object.
Sync block has a field to reference kernel objec
When the lock is heavily contended.
If the lock is lightly contended, there is a quick CPU spinlock to wait for the lock to be free again, but if this doesn't wait long enough for the lock to be free, the thread will blocking wait on the mutex, which involves a kernel mode call to suspend the thread and other such management.