Collection seems to be appending elements when not necessary. Seems the 'shouldAppend' checks if the current page is divisible by the new (current +1) position.

For a 'page,limit' of 100 this check returns 'TRUE' for positions like 1, 2, 4 ...

IMO the check should be the other way around, so the new position is divisible by the 'limit.page'.