Construtor C #, parâmetro do objeto é passado por referência ou valor

Se você tem classe e construtor que aceita um objeto como um parâmetro de entrada - esse objeto é passado por referência ou por valor?

E é verdade supor que, para métodos de classe, os parâmetros de entrada do objeto sejam passados por valor por padrão, a menos que a palavra-chave ref seja usada?

E a palavra-chave out? Isso ainda significa que é passado por referência?

questionAnswers(7)

yourAnswerToTheQuestion