I have a layer of "Memory storage" type (Memory provider) which I created with Python.
When editing=on and updating values using the attribute table interactively everything works as expected, i.e. the record get's updated.
Then I'm checking "Auto open form" to on. When updating the object interactively using the "Identify Features" tool the auto form opens as expected.
But after saving, I end up with two records sorted to the end, one is the unchanged original and the other record contains the changes (as well as e.g. the same id).
I didn't do anything in my code with the "Identify Features" tool. So this is a bug or at least a very strange default behaviour of PyQGIS.