Вот сценарий. В вашей функции вы выполняете операторы с помощью курсора, но один из них завершается ошибкой и выдается исключение. Ваша программа выходит из функции перед закрытием курсора, с которым она работала. Будет ли курсор плавать вокруг, занимая место? Нужно ли закрывать курсор?
Кроме того, в документации по Python есть пример использования курсора и сказано: «Мы также можем закрыть курсор, если мы закончили с ним». Ключевое слово «может», а не «должен». Что они имеют в виду именно под этим?