http://msdn.microsoft.com/en-us/library/system.servicemodel.channels.messagebuffer(v=vs.85).aspxは、「パブリックスタティック(Visual Basicで共有)メンバーこのタイプのはスレッドセーフです。インスタンスメンバーはスレッドセーフであるとは限りません。」
原則として、インスタンスメンバーにはスレッドセーフの保証がないようです。
ただし、一部のインスタンスメンバーメソッドは再入可能でスレッドセーフであり、他のメソッドはそうではないと推測しています。
MessageBuffer.CreateMessageはインスタンスメソッドです。この特定のメソッドが再入可能であるかどうか(または呼び出し元がメソッドへの呼び出しの周りにロックを実装する必要があるかどうか)を誰かが確認しましたか?