Вы должны передать переменную для параметра out. Вам не нужно инициализировать переменную перед ее передачей:
MyMessagesType messages;
myResult = MakeMyCall(inputParams, out messages);
Как правило, вы можете просто игнорировать «сообщения» после вызова - если только «сообщения» не нуждаются в удалении по какой-то причине, например, при использовании ограниченных системных ресурсов, в этом случае вам следует вызвать Dispose ():
messages.Dispose();
Если он может использовать значительный объем памяти и некоторое время будет оставаться в области видимости, вероятно, ему следует установить значение null, если это ссылочный тип, или новый экземпляр по умолчанию, если это тип значения, поэтому что сборщик мусора может восстановить память:
messages = null; // Allow GC to reclaim memory for reference type.
messages = new MyMessageType(); // Allow GC to reclaim memory for value type.