I have a List with items that I want to download. I use a for Loop to iterate the list.
For each item in this List I start a new Thread that references the item. My
I can't see why you are trying to use the ref keyword anyway. Objects are passed by reference in C# by default, and in your original code you are not using item after it is passed to DownloadItem. Therefore I would suggest using the ThreadPool methods you tried, but not using a ref parameter.
Hope that helps.