call dispose on dealloc