When speaking about casting here, I mean implicit cast. Assume class B inherits from A. Because we have only single inheritance in C#, when casting reference to B to reference to A, we don't have to do any ,,this'' pointer adjustment or so. In fact, such cast is no op, because B is A, all fields of A have same offset in A object and B object.
And there comes the question: is casting reference to B to reference to some interface which B implements involves any overhead? Personally, I do not see any reason that it should, cause interfaces can't have fields (and therefore ,,this'' pointer does not have to be adjusted as in the case above). Nevertheless sometimes I can hear such opinions, hence this question.