High CPU can be pretty hard to trace
Typically, it is caused by network looping
Do you have any mac-address flap messages in your switch?
If not kindly check if logging of mac-flaps is enabled by:
#config t
#mac address-table notification mac-move
If there are flaps, there is definitely a loop in your network
Oh yeah, if you are in a telnet session don't forget to do "terminal monitor" to see the informational logs popping up