The design of actions is based on idle time updating of actions. As you move your mouse, the application receives lots of queued messages. Each time the queue is emptied, the application is deemed to be idle, and all the actions are updated. And this can lead to high CPU utilization.
This issue is well known and acknowledged in the VCL. For example, take a look at TApplication.ActionUpdateDelay.