So the reason I designed it this way is because I’d much prefer staged Items to not be in the database at all until the Collection is created, but bubble doesn’t allow you to create things exclusively in state. So as a sort of compromise, I hold references to them in state so that if the user cancels they can be deleted. As you suggested, it would be possible to have a “draft collection” item for each user and have it have a list of staged products, but that would require even more unnecessary database read and writes.
You can read more on my frustration on the lack of local storage support in bubble at the following forum post, but I’ll try to keep the focus of this thread on the bug report at hand.
EDIT: Link