I have had similar experience; in my case the “Results” tab was consuming significant CPU resource (SQLTest uses StringBuilder Class to store the results and displays them using RichTextBox) getting slower and slower as more results accumulate.
In SQLTest you can choose to execute the query in 2 ways, using ExecuteNonQuery() or using ExecuteReader() choosing Menu Settings -> Workload Settings. With ExecuteNonQuery() there are no rows to retrieve and hence there is no display or memory overhead. When you use ExecuteReader(), the rows are retrieved using Read() and shown in “Results” tab, this has significant display and memory overhead (in addition, there is the “Auto Scroll Results Tab” possibility choosing Menu Settings -> General Settings to keep the cursor on the last line of the RichTextBox which adds further overhead. The more the results the slower it becomes to manage them in the RichTextBox).
Of course one should be realistic and should not use ExecuteNonQuery() and omit retrieving the results. When using ExecuteReader() one possibility is to disable “Show Results” using Menu Settings -> Workload Settings for that workload. This will still execute Read() and retrieve the results which is realistic, but won’t save them in StringBuilder or display them in RichTextBox. If necessary one can log the results to a file (which is much faster) using Menu Settings -> General Settings. In the next release there is a possibility to save the results in a database, this again will slow down the test overall, so disabling “Show Results” and if necessary saving them to a file for verification is the best option.
In the connection string did you use Pooling=true to reuse connection?
No need to test the above, just some ideas.