Just a little trick a forget to tell about here, but I remember that when I debug it.
In fact, recentIsos.size() at begin = 0, but if we set <= to <, the fist element will not been added into cleanedRecent, so it cannot be < but <=.

What should change is just this after here:

 	if (j==cleanedRecent.size()-1){ // add if no redundant found

we should not have -1, otherwise, the last element of cleanedRecent will not be checked.