What do you do to the GoView when the TreeView selection changes?
Perhaps you should set whatever GoView properties you want when you modify its contents. Presumably you are not replacing the GoView.Document, because setting GoView.Document does reset GoView.DocPosition to the origin.
So perhaps you should always set GoView.DocPosition to new PointF(0,0)?
Or do you want to remember the GoView.DocPosition for each TreeView item separately once that "view" has been seen?