Solution
The memory growth in the customized user interface is caused by never closing the execution, so after running SinglePass entry point continuously for a while, you have hundreds of executions that are still open. The same problem can occur when using C# GUI, or any other interface.
You should modify your custom user interface in order to programmatically close the execution when it finishes running, as displayed below:
- call GetCommand method with cmdKind input set to CommandKind_Close to get a reference to the command used to close execution
- call GetCommand method with cmdKind input set to CommandKind_ExecutionEntryPoints_Set to get a reference to the command used to launch execution of SinglePass entry point
- call Execute method for Command class to execute the CommandKind_ExecutionEntryPoints_Set command
- call Execute method for Command class to execute the CommandKind_Close command