Prevent stale UI updates and reduce DBus load by caching menus with automatic eviction when limit exceeded