As you can see from the attached image the CPU graph on my dual core machine is weirdly symmetrica
(Should have used comments for this, but I don't have enough rep!)
I encountered this situation more than once before, and always with an application conflict.
For example, it can happen when compiz is started twice, or when it is partially unintalled. I found it could also happen when reading DVDs with two different players at the same time.
In my experience, it's not normal behaviour: the computer slows down quite a lot,which is annoying when you're trying to fix it!
You are achieving a 50% load using both CPUs. Your program is not attached to a fixed CPU so it's switching, depending on the kernel (and other processes running on your system).
If you want to be sure your process is running on one of your cores, you have to set affinity (Example here). This way, you should see a 100% load on one core, the other one being used for other tasks.