BF3 is MAXING out the cpu(or poorly codes, but I am guessing maxing). I do not have BF3 to test.
In other words, If the cpu can not feed the video card fast enough, then the video card spends time just sitting waiting on the next instruction. On the other hand Dirt does not use all the cpu and can constantly tell the video card to render frames.
This is literally the meaning of a bottleneck. the cpu is either too slow or too busy to feed the video card. On the other hand having the video card at 100% and cpu low would mean you need more video power.
When you did your last screen shot you had the LOW(you want an arrow pointing down above cpu) use items first. We need to see what was taking the higher end of cpu use(if it was JUST BF3 then the cpu is too slow and needs a little bit of overclocking).
You should generally not have things running from the temp folder(if you happen to be downloading illegal software, its NOT worth it).
EDIT example image.