The solution you have implemented is to avoid request throttling. Your solution will (theoretically) allow you to make more requests in the same amount of time.
I think what you are looking is a way to overcome the 5000 item limit when querying a list or library. The following link has a complete sample and also contains a SharePoint Online compatible version of the ContentIterator, which is specially made to handle large amounts of list items:
PnP/Samples/Core.ListViewThreshold at master · SharePoint/PnP · GitHub[
^]