I thought this was fixed, but apparently it is still an issue.
If new-suspect-on-traps is set to true in the trapd configuration file, it is possible to create a number of duplicate nodes if multiple traps from an unknown interface occur at the same time. Currently, when a trap comes it, it checks a table of known IP addresses to see if the trap should be generated. That table is generated from existing devices. However, if OpenNMS receives, say, three traps from an unknown IP in a short amount of time, it will generate three newSuspect events causing three nodes to be added.