Multiple Inheritance was not allowed in .Net to avoid "Diamond Problem" (Where a class inherits from two classes which are both inherited from a same base class. Then on invoking the base functions the compiler may get confused to call which function). But wht the garbage collector has to do with this is a matter that we need to really look into. I will try to find the answer for this and come back.
If you have the better answer, then send it to us. We will display your answer after the approval.