Add(a,b).ToString()
А out используют в любом случае где хотят вернуть из метода больше чем 1 значение
• Output parameters do not need to be initialized before they passed to the method.
The reason for this is that the method must assign output parameters before exiting.
• Reference parameters must be initialized before they are passed to the method.
The reason for this is that you are passing a reference to an existing variable. If you
don’t assign it to an initial value, that would be the equivalent of operating on an
unassigned local variable.
опять же траты)
То есть планируется, что люди бы им пользовались)