This is a great resource.
In it, you'll find that your second was almost there. Instead of passing the DirectoryEntry to the add method, you need its distinguished name:
With g
.Properties("member").Add(u.Properties("distinguishedName").Value)
.CommitChanges()
End With