I notice that one easy thing to improve is to not use the Enumerable.Contains() function. That could reduce my overhead by 8% if I come up with an alternative, which I do have a method to do so already. I made the adjustment, and re-profiled. I saw an immediate improvement! I'll have to continue to make updates to optimize this, but the profiler will help me to do so!
Ben Pearson is the author of the Amateur Radio and other technology blog KD7UIY and developer of Games and Apps at Google Play pearsonartphoto, where he plans to publish some of the games created by inspiration of gamedev.tv. He is currently working on a Sea Trading game, which you can subscribe to updates at his Google Group. He has been a programmer since a young age, although only recently is learning programming with game engines. He has completed the the Complete Unity Developer Course and the Procedural Generation courses, and is working through the Complete Blender Developer Course and Unity Game Physics courses. He is hoping to soon start Unreal Courses soon. Follow him on Twitter @KD7UIY.