UFC is 100% the hold up because they want Conor to sign a new 6-fight extension. Look at what's going on in the UFC landscape: Poirer, Pereira, Jones and other big names have all signed 6 fight extensions which for them at this stage in their career is basically a signal of retiring a UFC fighter. Dana held up the Ngannou/Jones fight because Francis was too much of a flight risk. If you fail to sign these multi fight extensions then the UFC do everything possible to ice you and plan to devalue you on the way out (Diaz). UFC, primarily Hunter Campbell, have kept the machine going without McGregor thanks to their lucrative ESPN deal which guarantees UFC profit. If McGregor fought out his contract before a new deal is signed then UFC would be lacking a big attraction for their next TV deal.
Conor is a snake but the man loves to fight. He wants another go at boxing and he doesn't want the UFC to get a taste of it. You will never hear any of the bought out media bring this up and point out the contradiction. It's a shame but the UFC is in the position to ice McGregor short term paydays to ensure that their future bottomline and status quo are maintained. McGregor on the sidelines tangled up in contract mess under UFC banner > McGregor independently promoting his own fights creating massive competition for the UFC.