Since it's so easy to decompile .NET code I was wondering which is the best way of protecting/obfuscating the code out there (for free if possible). I know VS Professional already comes with an obfuscator, but I don't know how reliable it is.