I need to do some memory profiling of a .NET Framework application. Should I use a debug or release assembly?
Release build built with debugging symbols.
Thus, there is no debugging overhead (for example, extra memory added after arrays to detect overflow), but you still have the names needed to bind addresses to variables.
You should comment on assemblies that cause problems. I assume that you provide your users with the Release assembly and so that you need a profile.