Using SetFramerateLimit (with a value which is below the actual framerate, of course) is usually enough, there might be something wrong in your code.
You can also use vertical synchronization (UseVerticalSync).
There might also be a chance that your application is not limitied by display, if you heavily use the CPU. In this case, we can't do much about it.