some fixes for GCD object ownership