public new void Dispose() { if (observer != null) { SKPaymentQueue.DefaultQueue.RemoveTransactionObserver(observer); observer = null; } if (productsRequest != null) { productsRequest.Delegate = null; productsRequest.Cancel(); productsRequest = null; } responseDelegate = null; purchaseCompleteDelegate = null; base.Dispose(); }