JsonFactory assign BufferRecycler to thread local but does not remove it. Very often jackson-core is loaded by web application classloader so we have situation where this classloader is referenced from thread object. As a result, after undeploying web app, classes wouldn't be unloaded (or wil be unloaded after some time because of the SoftReference).