Tienes una casuístitca variada:
Puedes devolver void, en lenguajes como java es lo mas normal ( luego explicaré porque ), porque realmente el retorno de una función suele ser el producto de calcular algo respecto al estado interno de objeto.
Puedes devolver un bool: si se ha insertado o no ( puede que se te haya acabado la memoria ). Y aqui es donde la gente usa void, si algo pasase, normalmente se lanza una excepción.
Devolver el objeto insertado solo lo he visto hacer una vez, y personalmente le veo poco sentido.
Otra opción interesante es devolver toda la lista, esto te permite hacer cosas como:
miLista.add(1)
.add(2)
.add(3)
.add(4)
.add(5);
Pero gasta algo mas de memoria.
En resumen, pon VOID.
PD: Depende de la arquitectura, pero normalmente cuando sales de una función, el valor de retorno se mete en la pila y luego se desapila.