When you call:
System.String s = new System.String("Hello".toCharArray());
You are explicitly invoking a constructor
When you write:
string foo = "bar";
An IL instruction (Ldstr) pushes a new object reference to that string literal. It's not the same as calling a constructor.