@audaxias welcome to the community!
Not sure if this provides the feedback you are looking for, but I will take a stab at it.
There is an alternate technique to custom states for having the page hold values so as to avoid back and forths with the server. It is to hold and manage values in the actual elements such as groups or repeating groups.
Example: Set an empty and hidden repeating group, define it’s data type (text, number, etc … or an object) and add/remove data as needed during the browser session.
You get more power! You can use conditions. Also, if you want default data you can set it shaped the way you want it. And, just like a custom state you can load/remove data to it via workflows as well.
So, this way you can better manage the number of entries you want processed in the page.
… oh and to avoid these hidden “page-data elements” messing up with your actual UI, you can place them in a popup that you never open. Popups are always loaded to the page. And name them as dataThing1, dataThing2, dataThing3 so that you find them easily when using them in expressions.