In .NET 4.5 we have setup our assemblies to build debug symbols for the Release build - to aid debugging crash dumps etc... on customer sites.
My question is: without a debugger attached and running normally in production does the presence of debug symbols cause the garbage collector to behave differently?
I recently read the following in an ebook:
"each of these assemblies will be compiled with debug symbols, resulting in poorer performance, and meaning that the GC will not work as effectively as in a release build. Essentially, the GC will be less aggressive in reclaiming memory when debug symbols are included. Since the debug symbols are included, the GC needs to be prepared that a debugger could be attached, and many of the rules for identifying unreachable references may not be applicable. With a debugger attached, a lot more objects may be reachable."
Is this true?