As far as I can tell, commiting files from eclipse list the files as the arguments of a classic cmd command "cvs commit file1 file2 ...". There is a limit on the number of the arguments in such a command. Therefore it can not handle larger number of files. The size can be a problem too.
I needed to commit about 30 000 files at once and the only way I was able to do this was writing a script and doing it recursively for every folder using "cvs commit -l" (invoked when folder was visited recursively).
I have tried tortoiseCVS but it crashed on the memory (needed around 1.3GB of RAM for this operation a it could not allocate it).