A few more thoughts about Blender strands & Octane instances.
The idea I talked about in my previous post on this subject (instantiated strand segments), would not be that great also because you usually want your hair to have a wider root and a thin tip. But you can do only affine transforms with Octane instances, so you cant "taper" an object. This is best explained with a picture:
A better solution for exporting strands would be to create the whole strand as geometry and then instantiate its children. If you have 1000 hairs with 100 children each, you would still save a lot of memory. Unfortunately there are two major problems that prevent this:
1.) Blender python API doesn't seem to expose the data needed for this (individual child transform). In the field of particles some things are still unfinished, it seems.
2.) Octane would need to have support for "scatter mesh groups". With the current implementation in the above example of 1000 parent hair strands, you would need 1000 scatter nodes to represent the whole system in Octane (which is clearly insane to do). If Octane would allow to export all the 1000 parent strands into one single mesh file, where each strand would get an ID, and then export the children transforms for all the parents into a single .csv file (again, assigning the ID to create a relation between the two), then it would be possible to match which child transforms apply to which mesh part in the mesh file and do the whole system with one scatter node.
tldr: currently its not possible to satisfactory instantiate hair strands.