VB.NET memory usage / virtual memory size (big difference)

I have an application that has 100's of threads in it of the same object...

According to the task manager:

Mem Usage = 231,260K
VM Size = 1,008,692K

This is a big difference & seems quite high.. is this normal? It can't need this much memory to run...

I also notice that when I minimize the program, "Mem Usage" goes down to around 30M and slowly crawls back up but VM Size remains the same.

I find it hard to believe my application needs this much memory to run, maybe I'm wrong...

Does .NET allocate extra memory it may never use? I'm worried about a VM error down the road the way this thing is hogging resources.
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

There is a term "Working Set". When application is working and not minimized .NET CLR allocate some memory, but when application is minimized then memory is deallocated. You may use System.Diagnostics.Process.WorkingSet64 to see how much is it, and MaxWorkingSet and MinWorkingSet properites to control the working set.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
.NET Programming

From novice to tech pro — start learning today.