Developer, Former MVP, now at Microsoft - Best of 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
Figure A WaitHandle : MarshalByRefObject |-> Mutex |-> AutoResetEvent |-> ManualResetEvent
Figure B WaitHandle : MarshalByRefObject |-> Mutex |-> EventWaitHandle |-> AutoResetEvent |-> ManualResetEvent |->Semaphore