title: Cache with timeout using .Net 4 & Concurrent Collections
body: <p>How would you implement a cache class that supports timeouts using the new Concurrent Collections of .Net 4? </p>
  
  <p>The cache class will be typically holding hundreds of thousands of entries. A very large part of the cache may expire simultaneously.</p>
  
  <p>Unlike a typical web cache, which may shrink due to memory pressure, this class should only automatically remove objects if they time out.</p>