is

isは、指定のオブジェクトが指定のクラスであるかを判定する。

is - C# リファレンス | Microsoft Docs

そのクラスと同じというより、互換性があるかということなので、アップキャストできる基底クラスでもTrueになる。

基底クラスBaseClass.csは、

Outputメソッドだけ。

これを継承した派生クラスDerivedClass1.csは、

DerivedClass2.csは、

出力する文字列が違う。
(とはいえ今回は最初の確認にしか使わない。)

で、MainClass.csは、

BaseClassのobjに生成したDerivedClass1のオブジェクトを格納。
is演算子で、DerivedClass1、DerivedClass2、BaseClassと判定すると、

DerivedClass1.Output()
(obj is DerivedClass1) = True
(obj is DerivedClass2) = False
(obj is BaseClass) = True
続行するには何かキーを押してください . . .

DerivedClass2は当然違うのでFalseだが、BaseClassは基底クラスなのでTrueになる。

Sample/cs/is/is/src/is at master · bg1bgst333/Sample · GitHub