This enumeration specifies the reason a thread is waiting. VirtualMemory indicates that a thread is waiting for virtual memory to be allocated, and PageIn and PageOut indicate that a thread is waiting for virtual memory to page in or out, respectively. FreePage is for threads waiting for a free virtual memory page. EventPairHigh and EventPairLow signal that the thread is waiting on events. LpcReceive indicates that a thread is waiting for a local procedure call, and LpcReply means that it is waiting for a reply to a local procedure call. If thread execution has been suspended or delayed, you will see either Suspended or ExecutionDelay . SystemAllocation means that the thread is waiting for a system allocation, and Executive indicates that it is waiting for the scheduler. Unknown is for when the operating system cannot report why a thread is waiting. public enum ThreadWaitReason { Executive = 0 , FreePage = 1 , PageIn = 2 , SystemAllocation = 3 , ExecutionDelay = 4 , Suspended = 5 , UserRequest = 6 , EventPairHigh = 7 , EventPairLow = 8 , LpcReceive = 9 , LpcReply = 10 , VirtualMemory = 11 , PageOut = 12 , Unknown = 13 } HierarchySystem.Object System.ValueType System.Enum(System.IComparable, System.IFormattable , System.IConvertible) ThreadWaitReason Returned ByProcessThread.WaitReason |