Каждый ResourceDictionary содержит три списка владельцев. Один для FrameworkElement, один для приложения и еще один для FrameworkContentElement. При доступе к свойству Resources устанавливается его владелец. Также каждый ResourceDictionary распространяет своего владельца на объединенные словари. Когда словарь меняется, он уведомляет об этом владельцев. Это уведомление фактически ищет свойства зависимости с локальными значениями, содержащими выражение ресурса. Затем каждое выражение вынуждено переоценивать.
Весь этот код является внутренним.