教えてください
キャストが上手くできずに困っています
具体的には、VisualStudioでデバッグのウォッチウィンドウに

Enumerable.Empty<int>() is IEnumerable<object>

と入力するとtrueと表示されるので少なくとも条件が整えば
IEnumerable<int> は IEnumerable<object> に
キャストできるとおもうのですが、プログラム上で安直に

Console.WriteLine(Enumerable.Empty<int>() is IEnumerable<object>);

を実行すると画面にFalseと表示されてしまいます

ウォッチウィンドウ上とプログラム上で何か条件の違いがあって
このようなことが起こっているのだとは思いますが、理解が不十分で解決方法が分かりません

そもそもIEnumerable<T>のTは共変なのでintがobjectにアップキャストできる以上
IEnumerable<int>も無条件でIEnumerable<object>にキャストできると
思っていたのですが、この部分に何か誤解があるのでしょうか

VisualStudio15.6.7、コンソールアプリ、ターゲットフレームワーク4.7.1でテストしています
よろしくお願いします