Duda uso de memoria RAM

Simple. Se llama optimizacion de codigo. C, pascal y muchos otros lenguajes de no linkean cosas no no usas.
¿Si la declaras pero nunca la usas, para que la va a linkear?, cuando la envias por el serial la estas usando por referencia y debe alojarla en el mapa de memoria.
Incluso si declaras variables globales, que no se usan salvo en pocos lugares, el compilador la reutiliza por ejemplo para un For, porque sabe que la puede dejar en el stack al valor que tenia usarla y despues devolverle el valor, total ningun otro proceso la usa.
De esta forma se ahorra muchisima ram.