Mientras examinaba al String ==operador, noté que llama String.Equals(string a, string b), lo que significa que es solo un paso.
Al examinar el String.Equals(string a, string b)método, veo que realiza una comprobación de igualdad utilizando el ==operador. ¿Cómo funciona esto realmente y no causa un problema StackOverflowExceptional hacer algo como "x" == "x"o "x" == "y"?
Actualización : se lo hice saber a JetBrains y lo convirtieron en una prioridad crítica para dotPeek. https://youtrack.jetbrains.com/issue/DOTP-6789
También agregué un problema en el repositorio de GitHub de ILSpy.

a == b), pero correcto en VB.NET:a Is b.