There isn't really enough info here to figure out what exactly the issue is, but my recommendation would be to do some debugging.
If you want to test things as a specific user, you could use the “ExecuteMicroflowAsUser” java action from the community commons. Walking through your microflows step by step and looking at the variables window to see the current values of each of your objects and variables. This should help you pinpoint the issue and see where duplicates are created.