>Looks like reasonable defensive coding to me. Carried to an extreme, it means assuming any call you make may fail, and coding to handle that.
I dropped this approach in favor of a timeout of a few seconds on the worker process which will obtain the lock to reload the data dictionary. I am targeting at allowing an already ongoing hit in process from the same worker process to complete. Then, the reload shouldn't go into a collision course.