If many objects are created, then other processes like ods-hsmutil will sometimes not be able to read from the database because it is busy. This is because a lock is created when we write to the database. Most of the code in SoftDatabase.cpp have a check for SQLITE_BUSY.
A common failure is for "ods-hsmutil list" to find the token when the Enforcer creates many keys. This is because SoftDatabase::init() does not check if the return code is SQLITE_BUSY.
There are probably other examples of this in the code.