Is C# 6 ?. (Elvis op) thread safe? If so, how?
<p>Apologies in advance: this question comes from a hard-core, unreformed C++ developer trying to learn advanced C#. Consider the following:</p>

<pre><code>if (myUserDefinedObject != null)
{
    myUserDefinedObject.ToString();
}
</code></pre>

<p>This is obviously not thread safe. On the other hand, I've seen two tutorials that say ?. (the Null Conditional Operator or 'Elvis Operator') for example,</p>

<pre><code>myUserDefinedObject?.ToString();
</code></pre>

<p><em>IS</em> thread safe. Unless the compiler wraps a [mutex?] lock around it under the covers (shiver), I don't understand how that can be true. If this idiom is thread safe, can someone point me to a technical description of how that is accomplished? If it's not thread safe, does anyone have a reference that actually says it is not?</p>