I've stumbled upon this problem when tried to run our application in bad network conditions; it spawns hundreds of threads (which exist long time before termination), and with time the application crashes. However, other developers answered this is "not a bug" and "as designed".
I have a strong gut feeling that spawning so much threads instead of using async calls is defective design, in the first place. However, my teammates disagree.
Any ideas how I can convince them?
UPD can I say that spawning threads for short running tasks is a bad design? What arguments I can use to support this statement?