There are several different answers to the question.
One is that God may see it as very appropriate to have free creatures at some stage, but not necessarily free creatures at every stage. Just as there are some creatures who are free and some who are not, with respect to those that are free, maybe God thinks the right way to do this – and if God thinks it, then it is true – is to have them be free at one stage, but not at another. Augustine thought that in Heaven we would not any longer be able to sin.
Another way to look at it though, is that God has knowledge of counter-factuals of freedom – He knows what free creatures would do if free in various, different circumstances. Maybe He created those whom He knew were such that once they got to Heaven they would not sin – they could, but would not. That is another possibility.
There is no reason at all to think that if God wanted to have free creatures now, they would have to be free creatures forever. And there is no reason to think that if He created free creatures who in fact do sin, that they would also sin in Heaven. Maybe they would; maybe they would not.