Earlier quoted context omitted.
Your assessment is incorrect. It falls below 10%, but the majority of the polygons are "unhappy" and waiting to be randomly moved. The program gets stuck continually shuffling the polygons around and it looks like it will never finish (I waited several minutes and no progress was made). It seems likely that this is because each polygon that is moved has a high chance of also being "unhappy" at the new random location…
Correct, but unbounded continual iteration more cleanly represents real life. The real flaw in the simulation is the limitation of free space, the world is a much bigger place.
I think the biggest limitation is "unhappy" polygons moving to random locations, instead of having some choice in the matter. Reducing this limitation would result in faster convergence towards a stable, segregated state, as the choices made would reflect the bias of the participants.