It is very common to use a private static readonly object for locking in multi threading. I understand that private reduces the entry points to the locking object by tighten
The scope and lifetime of a lock can/should depend on the 'thing' you want to lock. Static locks are mostly used to lock static things.