В большинстве случаев ресурсы, используемые спящим потоком, будут его стековым пространством. Известно, что использование модели 2-thread-per-connection, которая, на мой взгляд, аналогична описываемой вами, вызывает большие проблемы с масштабируемостью по этой самой причине, когда количество соединений увеличивается.
Я сам был в этой ситуации, и когда число соединений выросло выше 500 соединений (около тысячи потоков), вы, как правило, попадаете во множество случаев, когда вы получаете OutOfMemoryError, поскольку использование пространства стека потоков превышает максимальный объем памяти для одного процесса. По крайней мере, в нашем случае, который был в Java на 32-битном мире Windows. Я полагаю, что вы можете настроить вещи и продвинуться немного дальше, но, в конце концов, это не очень масштабируемо, поскольку вы тратите много памяти.
Если вам нужно большое количество подключений, Java NIO (новый IO или любой другой) является подходящим способом, позволяющим обрабатывать множество соединений в одном потоке.
Сказав это, вы не должны столкнуться с большой проблемой менее 100 потоков на достаточно современном сервере, даже если это, вероятно, все еще пустая трата ресурсов.