RCW e contagem de referência ao usar a interoperabilidade COM em C #

Eu tenho um aplicativo que usa assemblies de interoperabilidade do Office. Estou ciente do "RCW (Runtime Callable Wrapper)" gerenciado pelo tempo de execução. Mas não tenho muita certeza de como a contagem de referência é incrementada. MSDN diz,

O RCW mantém apenas uma referência ao objeto COM agrupado, independentemente do número de clientes gerenciados que o chamam.

Se eu entendi direito, no exemplo a seguir,

using Microsoft.Office.Interop.Word;

static void Foo(Application wrd)
{
    /* .... */
}

static void Main(string[] args)
{
    var wrd = new Application();
    Foo(wrd);
    /* .... */
}

Estou passando a instânciawrd para outro método. Mas isso não incrementa a contagem de referência interna. Então, eu estou pensando em quais cenários a contagem de referência é incrementada? Alguém pode apontar um cenário em que a contagem de referência é incrementada?

Também li um blog que diz que evite usar pontos duplos ao programar com objetos COM. Algo como,wrd.ActiveDocument.ActiveWindow. O autor afirma que o compilador cria variáveis separadas para armazenar os valores que aumentarão o contador de referência. IMHO, isso está errado e o primeiro exemplo prova isso. Isso está correto?

Qualquer ajuda seria ótimo!

questionAnswers(5)

yourAnswerToTheQuestion