La chiusura del cursore è davvero necessaria solo quando non si "esauriscono" i risultati. O in altri termini, scorrere tutti i possibili risultati restituiti dal cursore.
Lasciare un "cursore" aperto è come lasciare una connessione aperta che non viene mai riutilizzata. Queste cose non sono gratuite. Infatti il costo standard della connessione è di 1MB (circa). Quindi, se stai lasciando molti cursori "parzialmente iterati" in giro, c'è un sovraccarico generale in termini di connessione attiva e utilizzo della memoria.
Se in effetti esegui sempre l'iterazione "tutti" dei risultati (e questo include un "limite" che è un "modificatore del cursore"), il cursore si chiuderà e tutto andrà bene.
L'uso generale sarà che in realtà esaurisci / esaurisci il cursore esaminando tutti i risultati. Quindi non c'è bisogno esplicito di distruggere.