tighten up object pool management

centralize and assure mutex locking and unlocking