title: MemoryCache.Add returns true but does not add item to cache
body: <p>I'm trying to add items to the MemoryCache.Default instance using the Add method as below:</p>
  
  <pre><code>bool result= MemoryCache.Default.Add(cacheKey, dataToCache, cacheItemPolicy)
  </code></pre>
  
  <p>The value of result is true, indicating that the item has been added to the cache yet when I attempt to retrieve it immediately afterwards the cache is empty. I have also tried to add the item using the Set method with the same result of an empty cache.</p>
  
  <p>The cache has the default 99Mb memory limit so it doesn't appear as if there is no space to add new items.</p>
  
  <p>Any ideas?</p>
  
  <hr>
  
  <pre><code>private static void InsertCachedData(string cacheKey, object dataToCache, string[] dependantCacheKeys)
      {
          CacheItemPolicy cacheItemPolicy = new CacheItemPolicy();
  
          cacheItemPolicy.AbsoluteExpiration = new DateTimeOffset(DateTime.Now, new TimeSpan(hours: 0, minutes: 0, seconds: 3600));
  
          if (dependantCacheKeys != null &amp;&amp; dependantCacheKeys.Length &gt; 0)
          {
              cacheItemPolicy.ChangeMonitors.Add(MemoryCache.Default.CreateCacheEntryChangeMonitor(dependantCacheKeys));
          }
  
          MemoryCache.Default.Add(cacheKey, dataToCache, cacheItemPolicy);
  
          logger.DebugFormat("Cache miss for VehiclesProvider call with key {0}", cacheKey);
      }
  </code></pre>