There seems to be a problem with how unlocked buildings interact with buying more land. I have level 4 buildings unlocked for everything except housing, and now when I buy more land, the game prioritizes level 4 stuff and I don't get any houses, meaning it's going to take forever to upgrade since I have the same five level 1-3 houses slowly churning out a few people each day.
I think what people are calling lag is an effect of having your I/O code on the same loop as the graphics update step. This means that when the graphics lower the frame rate, they lower the computation rate, causing commands to pile up. You should look at articles on game loops.
Then again, if that's not the problem, nevermind. The game idea itself is pretty reasonable.