In this link, I provided two examples of .NET applications cracking. This proof of concept shows us that .NET application is not 100% secure format.
There always a way to reverse engineer it 🙂 . The program was written for .NET 1.1 but you can use .NET >=1.1.
Thanks goes to TOM for providing me the CrackME application for .NET.