If I run a release build in VS but WITH debugger attached. So I can set breakpoints and investigate the optimized code disassembly. Usually, in order to see all optimizations I
There is small differences in IL between DEBUG and RELEASE builds, so you do want to use RELEASE build in this case (i.e. all Debug.XXX calls are compiled out in Release case).
Un-checking "Suppress JIT optimization on module load (managed only)" should allow JIT do do optimizations as if no debugger attached. I'm not aware of any differences between these 2 cases.