Wouldn't this.dipose be a recursive call? Instead I think we're calling dispose on the parent class that we inherit from.