What you're seeing is "normal"... though that sounds too positive. <img src="https://www.ubbcentral.com/boards/images/graemlins/smile.gif" alt="" />
Basically, it's a side-effect of the file locking scheme UBB uses. When one instance needs to lock a file, it locks both the file in question and a global file lock. While the global file lock is in place, no other currently running instances of the UBB can perform any file I/O operation... and on a system that uses files for everything, that brings things to a grinding halt if a single UBB process needs to take forever and a day to do something.
That's just about enough server for that board... with high cache hits like that, you shouldn't be putting too much of a dent on that server.
I suggest turning off Recent Visitors, then pruning away about half of your members. Performance starts to drop around the 10,000 mark, and we generally advise not going over 20,000.
Those two steps will both reduce the frequency and duration of the file locks, and also reduce the time it takes to open member profiles, resulting in what will hopefully be a noticable speedup (and thereby also reducing the duration of file locks, which in itself will speed things up more...)