Why .NET's memory cache is kinda flawed