MODERATOR NOTE: coronavirus resources & updates: https://wolfr.am/coronavirus
Very nice simulation, very interesting to play around with.
I think in your function createPosition one line should be changed to
DeleteDuplicates[ Join[positions, Select[Round@RandomPoint[region, n - Length[positions]], memberq]]];
in stead of
DeleteDuplicates[ Join[positions, Select[Round@RandomPoint[region, 200 - Length[positions]], memberq]]];
Thanks for reporting it, I will fix it!