CA2213 advertencia al usar? (Operador condicional nulo) para llamar a Dispose

Estoy implementandoIDisposabley en miDispose() método al llamarDispose() en otros recursos gestionados estoy usando el?. operador así:

    public void Dispose()
    {
        Dispose(true);
        GC.SuppressFinalize(this);
    }

    protected virtual void Dispose(bool disposing)
    {
        if(disposing)
        {
            _ChangeLock?.Dispose();
        }
    }

Todavía recibo lo siguienteerror de análisis de código:

CA2213: 'MyClass' contiene el campo 'MyClass._ChangeLock' que es de tipo IDisposable: 'ReaderWriterLockSlim'. Cambie el método Dispose en 'MyClass' para llamar a Dispose o Close en este campo.

Si cambio a una verificación nula estándar, la advertencia de análisis de código desaparece:

if(_ChangeLock != null)
    _ChangeLock.Dispose();

¿Hay algo de malo en usar el operador condicional nulo como soy, o esta regla de análisis de código está desactualizada, o qué?

Respuestas a la pregunta(1)

Su respuesta a la pregunta