This smells.  We are maintaining additional memory for locks that we only use in this class, in the case of when we don't have lock striping that is up to 2x memory overhead and when lock striping is enabled it can be quite a bit more based on how the stripes are distributed.  Also we don't support lock striping in this class even if configured to do so.

I understand you are doing this to reduce the time of contention since if we used the shared lock container it could be for the duration of an entire tx even, and as such I can't think of something better yet.

Although I do have to admit having a lock command on CDL immediately makes me think it would do cluster locking, which is a bit confusing.