https://github.com/AdoptOpenJDK/openjdk-jdk11/blob/master/src/java.base/share/classes/java/lang/StringCoding.java line 513
This ThreadLocal holds the last generated string
I'm using a very large string before returning the thread to the pool, so clearing it with
new String(new char[0]);
fixes the issue, but maybe I'm missing something.
Can anyone understand why it's there? Maybe I shouldn't clear it.