But can you reproduce in Sandbox? If so we can narrow in on the cause to a Dynamo Core’ issue. If not we can narrow down the cause to a Dynamo Revit issue.
I mean, the winform is not part of the Revit API, so there should be nothing in your nodes which call the Revit API directly; though if you’re mixing API calls it could be harder to pull the form out. Once done try providing it with a list or other bit to get it to reproduce in Revit and then move that bit over to sandbox to see if you can trigger there. If not, we have narrowed in on the issue.
Yes, this is common with any UI nodes when running from Dynamo. Executing your graph multiple times will cause the UI nodes to update on the initial run and then again if there is a value change to the input. If you have more than one UI node this can start a waterfall that re-executes nodes multiple times per run. The workaround is to “clear out” the run data by running the graph with a disconnected input (forced nulls) between real executions. The fix is to use Player.