Lots of bots need lots of CPU power.
There is a way to set up your game to run a BF2 server on one of your CPU cores, and the game on the other.
This basically takes most of the load caused by the bots off the core you are playing the game on.
There's instructions on how to do it buried in a thread somewhere in the Singleplayer section, I had a quick look but couldn't find it.
I'm about to crash, so I'll have a proper look for them tomorrow.