This is the problem…every iteration, the entire list of things is ‘fetched’ again by Bubble, which means, if you start off at 800 items, you’ve got 800 items fetched for the scheduling of first run, then on second run, you’ve got 799 items fetched, then on 3rd run you’ve got 798 items fetched and so on.
Better to on scheduling fetch the items, but have the backend workflow parameter be of type text as a list and not the ‘things’, and when you send in the fetched list of things to that text parameter, send in the Unique IDs…then add to your backend workflow a Make changes to thing and the thing to change will be ‘do a search for’ with constraint of unique ID = list item (this is the text based list parameter that is the list of unique IDs).
With that setup you do not get charged for fetching the list of things each loop and the ‘do a search for’ with constraint of unique ID is not an aggregate search and is just a single item search.
Another approach could be to use the schedule api workflow on a list…I suggest trying the API workflow on a list first to see how that affects WU consumption, and then test with first suggested approach to compare the two.