The NHibernate documentation and the book NHibernate In Action state that the cache provider NHibernate.Cache.HashtableCacheProvider is not intended for production
NHibernate.Cache.HashtableCacheProvider
Because it doesn't support any kind of reasonable caching semantics (first example that comes to mind: timeouts), and it basically grows indefinitely.
It's intended for testing only, as it just provides the simplest possible implementation of a local cache.