Analizando un poco mas la clase, me doy cuenta que no es una implementacion feliz para el método Cantidad (lo que se hace es recorrer la lista contando los nodos que tiene), esa forma no solo es ineficiente de todo punto de vista, sino que puede generar mas ruido para cuando se esta aprendiendo.
Te adjunto el mismo archivo pero con los métodos movidos de lugar para que queden al mejor estilo c/c++ (primero los métodos simples y luego los métodos que llaman métodos), como para que se ordenen un poco las ideas.
Lo complejo de las listas linkeadas es entender que la lista es conformada por los mismos nodos. Si prestas atención el Nodo tiene un atributo de tipo nodo (a un objeto de su mismo tipo) y otro atributo que representa la información guardada en el nodo. La función del atributo nodo es guardar el Nodo que le sigue, entonces te queda una cadena de nodos enganchados y tu clase ListaGenerica tiene como atributo un nodo el cual representara el primero de la lista.
Por ende, para recorrer la lista lo que hay que hacer es crearse una variable del tipo nodo que la asignas al primer elemento (es cual lo tiene como atributo tu clase ListaGenerica) y en algún loop (while, for o lo que te guste) haces nodoAuxiliar = nodoAuxiliar.Siguiente;
De esa forma logras recorrer la lista de principio a fin, ahora tu sabes que llegas al final de la lista cuando nodoAuxiliar es null, dado que al hacer nodoAuxiliar.Siguiente del ultimo nodo de la lista el Siguiente no esta cargado aun.
Te adjunto ademas una imagen intentando explicar con un dibujo la lógica de la lista a ver si ayuda a clarificar. Sobre eso quizás podamos terminar de redondear la idea