Gandhi called off the non cooperation movement beacuse:
a. Chauri Chaura incident where the angry mob had burnt the police station killing 22 policemen. Gandhi soon realized that the movement has taken a violent turn and to prevent the outbreak of further violence he decided to call off the movement.
b. Gandhiji realized that people have still not been able to understand his principles of non violence and satyagarha.