KPinniger, there is no automatic way to do that, though you could certainly add a timestamp field to the entity, then before you use it, do a query to find and remove anything older than the desired period of time. (Alternately, you can just keep track of when your cache was generated, and replace the entire thing when the amount of time in question has passed.)
Also, as to the Clear() functions; doing so should mark that memory as available for reclamation, when .NET does its garbage collection. If you use RemoveEntities() instead, it does so right away.
Edited by robertg - 23-May-2011 at 5:22pm