Right. This is exactly what I saw originally on a Redhat server at work. I then took the code and ran it on two home servers (Linix Mint and Ubuntu).
At first I thought it was some data structures that weren't being destroyed. This affected both v5.8.8, v5.10.0 and v5.10.1
I'll have to work around this problem and design the logic so that the threads never die. My program only uses three threads max (well four if you count the parent) -- but at the rate of creating and joining those threads every few seconds, the memory leak would eventually consume all available memory.
I am curious if this is a bug -- I'd really like to know where that memory is going.