Thread Safe Events while utilizing EAP
public EndPoint LocalEndPoing { get; private set; }  



should be LocalEndPoint.  




public void Start()
{
    try
    {
        if (Listening)
            return;  



why is this if statement inside the try..catch ? It can be granted that this won't ever throw any exception. As a rule of thumb, only put code inside a try..catch which can throw.  

You should always use braces {}, although they might be optional, to make your code less error prone.  


_server.Listen(10);  



why 10 and not 1000? Using magic numbers should be avoided to make the code easier to read and understand. You should extract magic numbers/strings into meaningful variables/constants so Sam the maintainer will see at first glance what this is about.  




_asyncOperation.Post(ex=&gt;OnErrorOccured(ex as Exception),exception);  



Let your variables and operators have some space to breathe, its just making your code more readable like so  

_asyncOperation.Post(ex =&gt; OnErrorOccured(ex as Exception), exception);  





private void _acceptArg_Completed(object sender, SocketAsyncEventArgs e)  



having an underscore prefixed methodname is a no go. Underscore prefixing is tolerated for class level variable names only.