Not a bug. You cannot instantiate abstract classes. See abstract - C# Reference | Microsoft Learn
“Members marked as abstract, or included in an abstract class, must be implemented by classes that derive from the abstract class.”
What the abstract keyword allows you to do is define a class that is not completely implemented. If you were to create an instance of such a class and then call a method on it that lacks an implementation, the universe explodes. It does anyway, kinda, but you get my point.