Wow... How time flies.... Was revisiting this issue after working a lot of other things in the interim. Ultimately I found significant improvement in performance when not calling SaveEditsAsync as often as Create... I'm not sure of the right ratio but I believe back then it was a 1:1 ratio of calls to EditOperation.Create to EditOperation.Execute. Now I probably have 100's if not 1000's of calls to EditOperation.Create before calling EditOperation.Execute. Is there a recommended ratio or limit? But that's not why I'm posting again...
With even larger datasets then I've used the Append GP Tool and Table to Table to bulk copy load. Which is far more efficient than EditOperation. To bulk load data I've used Table to Table for upwards of 100K records in seconds from a CSV file. I've also done equally large datasets of point, line, and polygon feature class using Feature Class to Feature Class and Append. But for Table to Table I've only done that with data (i.e. no features). Now I'm looking at the original problem that I posted here and the approach I'm trying is to write to a CSV first. My Add-In calls a native C++ code for all the algorithm processing and currently returns the Geometry and attributes in seconds and then it takes 10's of minutes for the AddIn to actually create all the feature classes and features. The geometry and attributes are a set of points and attributes for those points that are used to make a large number of polyline features to be used as inputs to the 3D Line Intersect with Surface GP Tool. Haven't found a simple way to do this in one step so my plan is to:
1. Write CSV and attributes to CSV file
2. Once file is written, bulk import points into a Table or Point Feature Class
2. Use Point to Line GP Tool to create the line features from the Point Features
Is there an easier more efficient way to do this? Thanks!