title: Guava cache 'expireAfterWrite' does not seem to always work
body: <pre><code>private Cache&lt;Long, Response&gt; responseCache = CacheBuilder.newBuilder()
              .maximumSize(10000)
              .expireAfterWrite(10, TimeUnit.MINUTES)
              .build();
  </code></pre>
  
  <p>I am expecting that response objects that are not send to client within 10 minutes are expired and removed from cache automatically  but I notice that Response objects are not always getting expired even after 10, 15, 20 minutes. They do get expire when cache is being populated in large numbers but when the system turn idle, something like last 500 response objects, it stops removing these objects.
  Can someone help to understand this behavior? Thank you</p>