There is a HUGE difference between dedicated resources and shared resources. In most cases, CPU and network ports are shared resources for VPSs so using 100% of your non-dedicated resource is normally a violation of TOS because you can easily impact the whole node.
As others have said, if you are on a node with a quad core CPU and you share that node with 10 VPSs, chances are you will not be able to hog 1 of those cores 24x7 unless you're paying a premium for a dedicated core.
Now if you're on a node with 24 cores and you are one of 10 VPSs on that node then there is a good chance you will get 1 core dedicated to you or at the very least you can run 100% CPU 24x7 without impacting the node to much.
The bottom line is, check with your provider. If they list the CPU are a shared resource then they are within their rights to limit the usage of that resource if they find you are preventing other clients from receiving a fair share.
As a provider, we have scripts in place to alert us if somebody maxes out a shared resource for X hours just for this reason. Normally we get a dozen or so alerts a day and 9 out of 10 times those VPSs that are maxing out the CPU are running scripts that violate our TOS anyways. We used to have clients that purchased a handful of 32MB VPSs from us and ran SETI@Home and FOLDING@Home on them and maxed out 3/4 of the node's CPU cores, that is NOT fair to other clients on that node fighting over 2 CPU cores at all times.