The issues is caused by the way I foolishly originally created the system. Each new chat window for each user is a new connection to the database. Meaning if each user has 3 chats (global, trade, gang for instance) then every time the script checks for new messages it's doing 3 connections at the same time.
This coupled up with the amount of queries which already happen on the site amounts to a hell of a lot.
Very inefficient creation of mine, I have a new version in planning which will resolve these issues. I can't give any idea of a release date due to other commitments.