LRU cache thread safe implementation - C#