Yeah - we both showed solutions that can get more than 500 records into a collection. The 500 limit isn't a limit on how much a collection can hold. The 500 limit is a limit on how much a single "Collect" or "Clear Collect" statement can return at once. So, as @Meneghino is showing you above -- the trick then is to use "Collect" more than once. You have to find a way to perform your query in sets, and we've given you a few examples of how to do that.