But it might. When an item is freed, if there was previously another element inserted that would have otherwise ended up in that slot it will have moved to the next 'free' slot. So, when an element is erase()d we move the second element into its slot. This item may happen to be an item that has been visited earlier!
Example found here: