Кэш без политики истечения срока действия - это утечка памяти. Какая бы политика вы ни предложили, она будет влиять на метод Add (). Вы должны обернуть этот метод, чтобы инициализировать вещи, которые позволяют вашей логике истечения срока действия. Вы не можете просто позволить клиентскому коду напрямую управлять коллекцией.
Итак, да, создайте оболочку класса.