ThreadLocals may be subject to GC when no longer used but IIRC things can get funky when a TL is not removed and a thread pool in say an app server is used amongst other things.