Linux has a much higher limit than Windows, especially on 64 bit machines. Because of addressing issues in Linux, 32 bit machines may run out of memory with thousands of threads before the thread count limit is reached.
I don't know if there is a way to reduce the number of threads without redesigning the JMS server. There may be a way to optimize your situation using a configuration setting. Adrian?