The image index works similar to the way the normal .net ImageList concept works, in that you can have a centralized property to manage all images for the control. This helps to minimize the payload to the client. For example, lets say that all images in every node are set to folder.gif. Instead of each node passing down folder.gif, we place the image in the ImageList property and only reference each node's image to its corresponding index.
The nice thing about the control is you don't have to worry about the imagelist or indexes if you don't want. The control will do it automatically before rendering. Just change your code to specify the Image property instead. Something like,
objTreeNode.Image = "page.gif"