Another thing I have been thinking about is knowing the fact that it takes about 0.01 to 0.10 in average to process a hit, where some exceptions might go, for example, up to 1 or 2 seconds, when comes time for a hit to reload the data dictionary, I could simply add a five second timeout. So, basically, in those very rare circumstances that I need to update the data dictionary, the first hit of each worker process that will get the lock, will simply have a five second timeout to negotiate with. This should leave enough time for other hits in progress from the same worker process to complete.
And, again, as I said, this was very rare and will become much more rare to happen now with this delay. So, that is a delay that will only happen when I update the data dictionary. Which means the application could run days without having a need for that routine, and when it will need it, there will just be a longer delay.