I've just had a quick look and unless my eyes deceived me, in the example exe, the balls collide and the one on the left starts going back (to the left), but the one on the right continues on its path instead of rebounding (something to do with... it going faster? momentum being retained that probably shouldn't be?)

The net result is that on the next collision calculation cycle, they are still in collision and thus, they are accelerated... in the same direction they are already traveling (to the left)... so instead of parting and going in opposite directions, they accelerate together and result in the whirl of pixels you're getting.

Thats what appears to be happening to me. I could be wrong but I don't have the time to brush off my physics and mechanical maths to go into it any further.

Hope it helps.