See the question and my original answer on StackOverflow

I suppose what was used is this technology from Microsoft Research: Microsoft Automatic Graph Layout

MSAGL is a .NET tool for graph layout and viewing. It was developed in Microsoft Research by Lev Nachmanson. MSAGL is built on the principle of the Sugiyama scheme; it produces so called layered, or hierarchical layouts. This kind of a layout naturally applies to graphs with some flow of information. For example, the graph could represent a control flow graph of a program, a state machine, or a C++ class hierarchy.

If you're an MSDN subscriber, you can have it for free (to be checked), otherwise it's a commercial package.