This was related to rule violation: CA2214 (Do not call overridable methods in constructors)

But it turns out that ErrorMessage was never overridden, so there's no need to make it virtual.