Really? You've had dreams shattered by people taking your code? I started out worrying about that kind of thing, but come to the realization that I'd be lucky if my code were popular enough for people to steal. What exactly has happened to you in the past? Nothing like the past to take lessons from. Also, Minecraft. It's written in Java, which is probably at least as exposed to de-compilation as C#. Do you know if Minecraft does anything to obfuscate the code? In any case, whatever attacks Minecraft has been subject to don't seem to have reduced its popularity any. If anything, the ability to plug in modules to Minecraft have made it more popular. I think if you can get your game to be popular enough that people are wanting to de-compile it, you've already arrived at your "success" point. De-compiling and analyzing code take a good deal of effort, and people aren't going to honor just any project with that kind of effort.
If your game relies entirely on secrets for it's popularity, you should maybe come up with something more. Yes, secrets are an important part of the mystery, but people who value the mystery are usually pretty good about disciplining themselves so as not to spoil the game. They just need a safe forum to talk about the game without having it spoiled for them (and I could certainly help with that -- deleting posts that spoil the game if necessary -- if you wanted to start out hosting discussion in the projects forum here).
Some secrets I agree, though, are vital, and no amount of obfuscation is going to be enough there. If you want people to pay for your game, for example, and you have a mechanism to validate a user, then you can't be distributing that mechanism opening up the opportunity for your game to be hacked so that anyone can play without a legitimate account. In those cases, you should make sure that those secrets are never even part of distributed code. They should be encoded into your server side logic. And that something essential about the game cannot function without contacting the server (if that's your preference). (Otherwise someone could just hack out the code that relies on server validation altogether.)