An already finished application is working and doing what it should be - even in a long time test.
From the GUI you can start some BackgroundWorker threads which are using HttpWebRequest in the DoWork function and display status information via the OnProgressChanged event in the GUI.
For the GUI DevComponents SuperGrid is used. Displaying of progress results is working fine.
Even with 10-15 active BackgroundWorker tasks the program is running fine from the results and is low on CPU and memory.
Problem 1 (Minor problem): The GUI from the program is not "freezing" but "lagging" in a strange way. After some seconds the GUI is working proper again.
Problem 2 (Main problem): The real problem is, that somehow the program affects the whole computer where it is running on. The whole systems becomes slow in visual response. The GUIs of other already running programs start to build up slowly, starting other programs is slow, etc. But again, see above, the task manager reports NO CPU and NO memory problems. CPU is around 11% and memory is around [url removed, login to view] to [url removed, login to view] (depends on the number of active tasks).
My guess is that the problem lies somewhere within the feedback from the BackgroundWorker tasks to the GUI.
The software is confidential, that's why I am not able to post source code here for now. But some information about the size of the BackgroundWorker class:
LOC total: 669
LOC main function (DoWork): 297
Rest: BackgroundWorker initialization, helper functions.
So if you are familiar with threads and GUI updates this size is quite manageable.
You should be familiar with the following
* HttpWebRequests with proxy support (already implemented and working)
* Thread GUI data exchange
After your first offer I will send you the BackgroundWorker class with more infos on the functionality of the class for a first review to adjust your offer.