You could run a multiple collections to bring in the data in chunks of 2000, then group it into a larger collection.
Powerapps just doesn't like dealing with all that data from an outside source, but temp storing within the browser works alright.
Step 1.)
***
Concurrent(
ClearCollect(CollectionA,Filter(NameofTable,ID<2000)),
ClearCollect(CollectionB,Filter(NameofTable,ID >=2000 And ID<4000)),
ClearCollect(CollectionC,Filter(NameofTable,ID >=4000 And ID<6000)),
ClearCollect(CollectionD,Filter(NameofTable,ID >=6000 And ID<8000)),
ClearCollect(CollectionE,Filter(NameofTable,ID >=8000 And ID<10000)),
ClearCollect(CollectionF,Filter(NameofTable,ID >=10000 And ID<12000)),
ClearCollect(CollectionG,Filter(NameofTable,ID >=12000 And ID<14000)),
ClearCollect(CollectionH,Filter(NameofTable,ID >=14000 And ID<16000))
)
Step 2.)
Then Collect your Collections together=)
;ClearCollect(NameofCollection,CollectionA,CollectionB,CollectionC,CollectionD,CollectionE,CollectionF,CollectionG,CollectionH)
You should now be able to Filter your NameofCollection with all 15000 records. It just takes a bit of preloading first to get there.
***Edited to add a Concurrent function to make this load much faster***