Is PageLanguageSettingsTree.Instance.Get(PageReference) cached by EpiServer (like DataFactory.Instance.Get())?
Looking at source code I can see that language settings for the content is "cached" inside local class field. ContentLanguageSettignsHandler (actual implementer behind PageLanguageSettingsTree) is configured to have a Singleton lifecycle. Which means that once settings are read from underlying storage - they are stored in memory till next application pool restart. Values are "deleted" (list is cleared and dictionary set to null) from the memory if somebody made some changes to language settings for the content (this is implemented through event pub/sub).