I will say as little as possible to avoid spoilers, because you seem to have thought enough about this to not want it spoiled.
The algorithm you are describing is not optimal.
Edit: Oh, I just realized you were talking about generating lots of samples. In that case, you are right, but you have not solved the puzzle yet.
If it's worth saying, but not worth its own post (even in Discussion), then it goes here.