Hi Yunus,
The best practice is to uncheck the "commit" option while creating an object and always use the commit action when saving the data.
Uncheck all three commit options in the creation microflow and enable the commit option for all three objects (ContactPhoto, ContactFile, and Contact) in the save microflow.It is better to commit all three objects separately even though they are associated with each other.
Hi Yunus,
The reason for the empty contacts is that you also commit in the create microflow. This will save the contact even when you hit cancel inside the edit page. Just uncheck commit in the create action or put a microflow behind the cancel button that deletes the object.