A combination of bad code and being about as well polished as a piece of old cobblestone. It was rushed out the door much MUCH too early. Stardock had developed a new game engine on which it was built, the Kumquat Engine they called it. So in addition to just all around bad polish, they were dealing with debugging an entirely new engine, all in a tiny period of time. The first beta for the game which actually used their game engine with the features enabled wasn't until June; they released the game in August. They were planning on releasing a 64 bit native version, which has yet to materialize (but IIRC is in the works still), and so apparently the dev team said to themselves: "Memory management? Bah! Who cares, we will have infinite memory to use!" or something. According to their forums and my own experimentation, the game can only use about 1gb of memory before 'out of memory exception' CTD due to them not even bothering to turn on the LargeAddressAware flag on the executable. As far as I know, the easiest way to do this is to use the visual studio command line to edit the exe itself, as this is the solution which Stardock themselves tell you to do. Overall, it just gives the impression of devs doing things half-assed and expecting the customer to pick up the pieces. Seriously, when was the last time a developer required you to edit the exe for the game just to keep it from crashing every few hours? >_<