- 
    Type:Bug 
- 
    Resolution: Done
- 
    Priority:Major - P3 
- 
    Affects Version/s: 2.12.0
- 
    Component/s: Cluster Management
- 
    None
- 
        None
- 
        Fully Compatible
- 
        None
- 
        None
- 
        None
- 
        None
- 
        None
- 
        None
Quoting from Stefan's comment:
The problem is how BaseCluster.random is initialized to a ThreadLocal subclass instance. That class references the webapp's classloader. The ThreadLocal subclass in turn is referenced by each Thread instance (that's how ThreadLocals are implemented, they have a "helper-Map" in each Thread instance, so the leak is actually not a tiny Random instance but the whole webapp's classloader with a bunch of class definitions and statically referenced parts of the webapp