Yes, reflector will do a pretty good job of exposing the code.
You've got two choices for adding a bit more protection, though.
1. Obsfucators. These programs are used to scramble the generated IL and work pretty well when used on a large programmer. Sure, someone determined can still likely figure out what is going on, but it does make it a bit of a pain. Googling for "C# Obsfucator" will return quite a few products.
2. Using the built in NGEN.EXE. NGEN.EXE compiles a .NET exe or dll to machine code and makes it very difficult to peak. The only real issue with using NGEN is that it targets the CPU (optimizes for) where the compilation is performed. Of course, if you wrote a really fancy system you might consider an installer for it that ran NGEN on the end users machine.