Fix memory leak due to non-weak delegate reference