1. A method comprising: loading a software class containing class information for a lock state; allocating an instance of a software object derived from the software class, wherein the allocating includes allocating of a lock word as part of the instance of the software object, the lock word defining whether the software object is locked by a thread of multiple threads; observing activity relative to the instance of the software object; and responsive to observing the activity relative to the instance of the software object that indicates that the lock state of the instance of the software object is non-locking, removing the lock word from the instance of the software object, wherein removing the lock word from the instance of the software object is delayed relative to the observing of the activity relative to the instance of the software object that indicates that the lock state of the instance of the software object is non-locking.