Puedes saber si es hoja si no tiene subnodos
Entiendo por la estructura que dices algo como esto:
Raiz_
|__Rama
| |___Rama
| |__Hoja Seleccionada
|_Hoja
Si miras las propiedades del nodo seleccionado que seria en el evento after_select
Private Sub treeview1_AfterSelect(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles treeview1.AfterSelect
If e.node.nodes.count > 0 then
msgbox ("Es una hoja")
end if
End Sub
Espero que te sirva
Saludos!