title: ehcache does not remove Element from memory on eviction
body: <ol>
  <li>ehcache 2.5</li>
  <li>timeToIdleSeconds="1800" (30 minutes), so I expect element to evict after 30 minute of being idle</li>
  <li>30 minutes  after last Element usage I still can see that cache is full of elements </li>
  <li>Forcing GC and taking heap dump shows, that elements are still in the memory</li>
  <li>getSize() returns positive number and getKeys() returns keys as expected (getKeys() does not check elements expiry)</li>
  <li>getting particular element, though results in NULL value, meaning that it was expired.</li>
  <li>getKeysWithExpiryCheck() shows, that cache is empty and all element exired and evicted</li>
  <li><p>Forcing GC and taking heap dump shows, that elements collected out of memory.</p>
  
  <pre><code>maxEntriesLocalHeap="10000"
  eternal="false"
  statistics="true"
  overflowToDisk="false"
  timeToIdleSeconds="1800"
  memoryStoreEvictionPolicy="LFU"
  transactionalMode="off"
  </code></pre></li>
  </ol>
  
  <p>From above I see, that ehcache make impression, that elements are expired which may lead my code logic to refresh them but under the hood memory is till polluted with elements until I call particular element or getKeysWithExpiryCheck()  , which does not let me use ehcache as effective memory manger</p>
  
  <p>How to make element to be GS after timeToIdleSeconds time? I want memory to be cleaned if elements aren’t used above timeToIdleSeconds.</p>
  
  <p>Michael</p>