I'm not really sure I understand what you are asking, but note that a thread's memory resources are returned to perl after it is joined, but the memory isn't returned to the OS until perl quits. If you don't want to join() each thread, you can just detach() them just after creation instead, although then its then harder for the main thread to determine when all its childen have finished.
Dave.