Used for scoped thread switching. using (var switcher = new ThreadSwitcher(thread)) { // Invoke DbgEng.dll interface function } Use this class for accessing thread information from DbgEng.dll interfaces to insure correct thread information access.For performance reasons, after using scope, previous thread won't be set until it is needed. Always use this class to insure correctness.