do not delete the descriptor: it is still referenced internally
fix memory leak: delete the descriptors in the destructor