I have the following code that attempts to verify a server certificate against the CA in my private PKI. Its used with ServicePointManager and RemoteCerti
If the ChainStatuts.Lenght = 0; that means that your chain is correctly built.
You can also check the result with the Verify() function. It use the Online Revocation mode and use the standard policy verification.