The GC.Daemon thread has no need of any user defined class loader, so should set its context class loader to null before starting, so as to not inadvertently retain a reference to the creating thread’s context class loader.
http://cr.openjdk.java.net/~chegar/8160513/ https://bugs.openjdk.java.net/browse/JDK-8160513 -Chris. P.S. I added a detailed comment the JIRA issue, for those wondering why Tomcat is running into this.