См. MessageQueue на MSDN :
Только следующие методы являются поточно-ориентированными: BeginPeek, BeginReceive, EndPeek (IAsyncResult), EndReceive (IAsyncResult), GetAllMessages, Peek и Receive.
Пока вы придерживаетесь этих методов, вы будете в порядке (плюс любые статические методы, если явно не помечены как не поточно-ориентированные).
Но экземпляры MessageQueue достаточно легкие, поэтому вы можете просто создавать новые экземпляры (возможно, через фабрику, чтобы избежать глобальных переменных для имени очереди), когда это необходимо.