Found the reason for the seg fault.  Had nothing to do with the threads or sockets, but the ProcessPacket function.  I had stubbed code in that didn't perform a snity check on incoming pointers.
Create the Util class and started building the OANode application.  I'm going to use OANode in a debug mode in order to test out OAServer.  I'll use a vector of OANodes sending a bunch of random data in order to verify OAServer is operating as expected and that the packet definitions I'm making are correct.  I can kill two birds with one stone by treating OANode in debug mode as a unittest case.