I think your code is increasing mDegree by 0.5 each frame, and mDegree is the amount that you're rotating your object each frame. So after 100 frames you're rotating by 50 degrees per frame. Eventually, you're rotating so fast that it's starting to slow down and reverse.
This is what the polygon is doing, but I dont know how to fix it. The degree is the current degree, should it just be the incremented amount instead?
mDegree is the current degree of the object and is increased by .5 every frame.