si capisco il problema....
Con le stringhe hai la frammentazione dell'heap che può generarti il blocco.
In un mio progetto con un d1 mini e Blink avevo notato che le stringhe troppo lunghe mi davano parecchi problemi.
Hai provato a dividere tutto in messaggi più corti?
Puoi anche dichiarare le stringhe come array di caratteri di dimensione fissa.
Ad esempio per i mesi: prendi il mese con più lettere e quella sarà la dimensione dell'array.