You never build so you can clean, but rather you clean if you think the next build could be tainted by unsuitable machine code (e.g., code generated using a different, incompatible build style) and/or you're just trying to force a compile.
I think I get it... To regurgitate: so basically (and what I didn't realize) is that when you BUILD, the compiler generates some kind of code that is "left behind" and will be used again the NEXT time you build...?... unless, as you suggest, you "clean" it - something that is good to do when switching build styles?