What version of mysql and what table type (myisam/innodb) do you use? Some older versions of mysql 5 have a threading issue in innodb that would cause this sort of symptoms with large numbers of concurrent threads.
If your using myisam you may be suffering from lots of threads waiting for others to release table locks.
If it shows a lot of processes in a 'Locked' state, you probably need to change the table they are using to innodb so that it has row-level locking rather than table-level locking. Check the support community for your forum script- they can probably advise on which tables should be innodb.
You should also read up on the innodb configuraiton settings and ensure they are suitable before changing a table type. In particular, make sure you have 1 table per file option on so that it doesn't put all innodb tables in one big file.