Whenever any new object is created, the object is created on heap. The memory allocated for each object has two additional fields 1) The type object pointer 2) sync block in
The sync block index is used under the hood by the Monitor class and thus the lock statement also.