If you check the code, ::LoadFromDB is called from ::Start, which (before my changes) held a lock during the call anyway.
The way I did it, the lock is only held when necessary, as the lock is released before calling ::LoadFromDB and created again after it is finished.