I am always of the opinion that threads and processes should terminate themselves, and that they should, where possible, “stick around, waiting for more work to do,” instead of coming into existence to service one request and then flaming-out.
The kill(9) protocol is definitely one that was “taken from Unix,” and it really does not have a good parallel in the Windows (i.e. DEC VAX 11/780...) world-view. And yet, I have never recommended “management by the use of overwhelming deadly-force” ;-) anywhere.
Building process contexts, and tearing them down, are best thought of as expensive operations. And, the maximum number of processes that may exist at one time is usually something that you want to govern.