Un errore "cursore non trovato" da MongoDB è in genere un'indicazione che il cursore è scaduto (dopo 10 minuti di inattività), ma potrebbe potenzialmente indicare che il codice client è diventato confuso e sta utilizzando un cursore non aggiornato o chiuso o ha danneggiato il cursore in qualche modo. Se il runtime di 3 ore includeva molto tempo occupato sul client tra le chiamate a MongoDB, ciò potrebbe dare al server il tempo di timeout del cursore.
Puoi specificare un'opzione senza timeout sul cursore per vedere se è un timeout del server del cursore che causa il problema.