What you are saying basicly is "str"=="str" returns false..
Normally, Equals method compare the objects by value and == operator compares them by reference
I am pretty sure it doesnt use references to compare. As I said before, string class overloads == operator and calls Equals() method. Easiest way would be just checking IL code of String class by a disassembler but I dont have even .net framework right now
