Collect(AllAccounts, List01) will be subject to the data row limit since you aren't filtering the list below that with a delegable function. I have a list of people's names that I bring into a collection for testing. To do that I use the following.
ClearCollect(myPeople, Filter('People List',StartsWith(Title,"A")||StartsWith(Title,"B")));
Collect(myPeople, Filter('People List',StartsWith(Title,"C")||StartsWith(Title,"D")));
Collect(myPeople, Filter('People List',StartsWith(Title,"E")||StartsWith(Title,"F")));
Collect(myPeople, Filter('People List',StartsWith(Title,"G")||StartsWith(Title,"H")));
Collect(myPeople, Filter('People List',StartsWith(Title,"I")||StartsWith(Title,"J")));
Collect(myPeople, Filter('People List',StartsWith(Title,"K")||StartsWith(Title,"L")));
Collect(myPeople, Filter('People List',StartsWith(Title,"M")||StartsWith(Title,"N")));
Collect(myPeople, Filter('People List',StartsWith(Title,"O")||StartsWith(Title,"P")));
Collect(myPeople, Filter('People List',StartsWith(Title,"Q")||StartsWith(Title,"R")));
Collect(myPeople, Filter('People List',StartsWith(Title,"S")||StartsWith(Title,"T")));
Collect(myPeople, Filter('People List',StartsWith(Title,"U")||StartsWith(Title,"V")));
Collect(myPeople, Filter('People List',StartsWith(Title,"W")||StartsWith(Title,"X")));
Collect(myPeople, Filter('People List',StartsWith(Title,"Y")||StartsWith(Title,"Z")));
The point is that you need to load the collection in chunks that are smaller than the data row limit. My list is 5000+ items.