The evidence to suggest that he sabotaged the nuclear program is very circumstantial plus a bit of post war self exoneration in the general atomic regrets of the cold war..
The Nazi regime had generally looked down on theoretical physics, partly due to the fact Einstein was Jewish, and it's vague nature. Heisenberg himself nearly missed out on his appointment as the Nazi leadership tried to install more practically minded professors. Funding for development of an atomic research dried up in early 1942 in favor of more militarily useful things like rockets and jets.
Heisenberg himself reported to Speer that any weapons development would be expensive and take until at least 1945, which was precisely correct. He then continued his research into other high energy physics problems.
He did make a mistake by overestimating the size of an atomic bomb, but it was a mistake that everyone else also made at the time. Fission was only discovered in 1938, and the general thinking was that a bomb would have to weigh several tons. Even the famous Szilard letter signed by Einstein and sent to Roosevelt in 1939 indicated that the bomb would probably be too heavy to fly, and would be sent into an enemy port by ship.
His other mistake was to stick with heavy water instead of graphite. Perhaps with a larger research program, someone else could have discovered this error, but the US atomic development budget was two thousand times the German budget and had much larger research staff.
Among the German physicists, there were some who supported Nazi ideas (e.g. Johannes Stark), and some who were openly opposed (e.g. Max von Laue). Heisenberg was much more of a middle-of-the-road Nationalist than a Nazi.