I searched a lot on the internet to find a C# implementation that could allow to cache immutable objects using weak references in order to reduce the memory footprint (similar to .NET String.Intern). In my case, I need to cache multiple list of products and the same product can be present in each list: TotalRead more