Basically entities will only end up in the first level cache when you load a persistent object or when you call on of the save or update methods. If you're dealing with truly transient objects (ie, not persistent, not detatched) then they shouldn't appear in any cache.
When I've had memory problems in the past I've used a .NET profiler. Have a look at this blog entry for a few links:
http://davidhayden.com/blog/dave/archiv ... /2632.aspx
(It's been a while since I found it, so I don't know if all the links are still good)
Cheers,
Symon.