Ещё в первый раз хотел спросить, да всё некогда было: зачем там критическая секция?
Ну, к этому объекту (данные которого в принципе не меняются, за исключением, когда потребуется обновить кеш) обращаются из другого потока. Есть опасения, что могут возникнуть коллизии, если обновлении кеша инициируется из разных пакетов одновременно. А поток и очереди делать в данном случае посчитал излишним... Считаешь можно обойтись без критических секций?