Ok, not sure what the problem is now, but from what I see, the generator is doing as expected. You would need to get some statistics and plot the primary origin X-Y distribution to see that it is in a circle of radius 10cm.
Perhaps it is an issue related with the visualisation of the geometry and the hits.
I advice you to have a look to PrintEvent() to see if things make sense there.