Today, I was asked whether there was a "real" difference between debug and release builds of a C# project - other than the PDB files. I didn't know for sure, so I set out on a search for more information, which turned up the blog entry debug vs. release in C#. The interesting part is the first comment by Josh Williams: "...the /debug[+|-] switch controls JIT optimizations <snip />. Disabling JIT optimizations is very useful for debugging purposes but will very much affect the runtime perf of an app as much of the optmization of your code is done by the JIT, not CSC..."
Now that definitely turns shipping a debug build to customers into a non-starter.