When initializing a recursive class, meaning that it has a property of its own type, try to avoid calling the constructor for the child property in the default value.
You'll get a nice fat stack overflow exception.
public MyType SubNode = new MyType();
man, I hate it when I have stupid noob-like errors like that ... but hey, you live and you learn I guess.