BlockingCollection<T>.Dispose Method

.NET Framework 4.6 and 4.5

Releases all resources used by the current instance of the BlockingCollection<T> class.

Namespace:  System.Collections.Concurrent
Assemblies:   System.Collections.Concurrent (in System.Collections.Concurrent.dll)
  System (in System.dll)

public void Dispose()



The Dispose method is not thread-safe.

Call Dispose when you are finished using the BlockingCollection<T>. The Dispose method leaves the BlockingCollection<T> in an unusable state. After calling Dispose, you must release all references to the BlockingCollection<T> so the garbage collector can reclaim the memory that the BlockingCollection<T> was occupying.

For more information, see Cleaning Up Unmanaged Resources and Implementing a Dispose Method.


Always call Dispose before you release your last reference to the BlockingCollection<T>. Otherwise, the resources it is using will not be freed until the garbage collector calls the BlockingCollection<T> object's Finalize method.

.NET Framework

Supported in: 4.6, 4.5, 4

.NET Framework Client Profile

Supported in: 4

.NET for Windows Phone apps

Supported in: Windows Phone 8.1

Portable Class Library

Supported in: Portable Class Library
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
© 2015 Microsoft