The context may be lost when you return to the page. What I would do is not use a DataSource Microflow anyway. It is better to open the page with an object that you pass as Page Parameter where you show an object over association. It is not recommended to use a data source microflow because it can impact the performance with regard to loading your page, but also because it can show unexpected behavior in some cases.
As you indicate it sometimes works if you commit the object, this means that your objects are not properly stored in your cash. It is possible that your item has been removed from your cash because you rollback in one of the actions you perform, for example in a cancel button.