free more thread state in jl_delete_thread and GC (#52198)
This prevents most memory growth in workloads that start many foreign
threads. In the future, we could do even better by moving pages in the
heap of an exited thread (and also maybe pooled stacks) elsewhere so
they can be reused, and then also free the TLS object itself.