here I get two blocks of the same set, but they don't go one after the other. So I join the second one go it's own unique set
Don't do that; this is not a step mentioned in your first reference! Two cells are in the same set when there is already a path between them (by going up though the already generated portion). By arbitrarily placing the second block into a new set, you are ignoring the fact that it is connected to other cells.
When you leave the
3 blocks alone, you will get
You are required to place a wall between two blocks of the same set, because they already have a path between them. Thus you produce
And don't had a loop.