public class BaseList { // without this field instantiation everything works fine. object obj = new object (); } public class XXX : BaseList { } public class Crash { public static void Main() { // After creating an array, instantiation got broken. XXX [] arr = new XXX [0]; // this array creation is OK // BaseList [] arr = new BaseList [0]; new BaseList (); // even this causes SISSEGV } }