Ah! I see your point now.
I think the flaw in the OP is that you overlook the critical difference between Britain and Nazi Germany, namely, that Britain has a conscious and Nazi Germany did not.
Gandhi's non-violence only worked because it was aimed at the British conscious. If India had been a Nazi colony, Gandhi and his followers would have been loaded onto cattle cars and shipped off to the showers.
Dr. Martin Luther King's campaign of non-violence worked so well in the South because TV pictures carried images to the North of the police turning dogs and water cannon onto peaceful demonstrators.
Non-violence does work...when you're up against a basically moral opponent and when you have right on your side.
In other situations, try it, and you're toast.