Você deve passar uma variável para o parâmetro out. Você não precisa inicializar a variável antes de passá-la:
MyMessagesType messages;
myResult = MakeMyCall(inputParams, out messages);
Normalmente, você pode simplesmente ignorar as 'mensagens' após a chamada - a menos que as 'mensagens' precisem ser descartadas por algum motivo, como o uso de recursos limitados do sistema, caso em que você deve chamar Dispose ():
messages.Dispose();
Se ele pode usar uma quantidade significativa de memória e vai permanecer no escopo por um tempo, provavelmente deve ser definido como nulo se for um tipo de referência ou para uma nova instância padrão se for um tipo de valor, para que o lixo o coletor pode recuperar a memória:
messages = null; // Allow GC to reclaim memory for reference type.
messages = new MyMessageType(); // Allow GC to reclaim memory for value type.