This is a somewhat special case. He certainly could have referred with a recommendation, even knowing that there could be no actual indictment. That, however is not where the line was drawn.
Mueller decided he didn’t have a case to even attempt or recommend an indictment.
If the DOJ order about not indicting a sitting president was blocking them from indicting Trump, there’s an easy way around it. Crimes like collusion and obstruction do not happen in a vacuum and CEOs are used to giving others orders and expecting them to be carried out. Mueller could have indicted one of the people close to Trump and pressured them to turn on Trump in order to get what they needed. The fact that they did not indict anyone else in Trump’s inner circle (other than old crimes unconnected with the Trump campaign) tells me he did NOT collude or obstruct.
Secondly, Mueller’s statement is like asking the defendant to prove a negative, which is often impossible and must NOT be the burden of proof in an official investigation. There is only evidence (thus charges) and lack of evidence (thus no charges).
Rush Limbaugh concluded Mueller’s announcement was to say he wouldn’t testify before Congress and this was *not* so he’d have to answer questions from Democrats but that he’d answer questions from Republicans. Senate Republicans should subpoena Mueller to appear before the Senate Intelligence Committee and, if he refuses to appear, find him in contempt.