I dont see any mention of the rules themselves in this thread.
Check if you are using a lot of "evals" and also you may be using the same
object in all your rules; so the theoretical ReteOO performance goes for a toss
coz it does branch the tree based on object type.
If the above is what your rules look like; you know whats wrong. Re model the
object model and re mode the rules... "yeah just do everything, thanks that
helps man"!!! :)