Ref and Out are same for CLR and they both have same instructions.Only Compiler differences it for Developers Perspective. Instructions From IL Code below for ref and out methods. And this is the reason why we cannot have overload method with only difference as out and ref.