The ::destroy signal is meant to be used to break reference cycles on third party code. The documentation should really make it clear.