Well i would have thought that the end result of all garbage collectors is the same... to free up memory that is no longer being used?
So how can a garbage collector that stomps all over memory that is obviously still being used be correct? The most annoying thing is the fact that my code seemed to be running perfectly fine until i switched to using -d:release, i would have thought that if there was a possible bug in my code, especially one that can fully crash the app i would have had some sort of warning so that i could correct it before switching to -d:release?