I have recently purchase the NPM l9.5 and try to install this in one of my domain controllers. However, the installation guide stated that "do not install in domain controller". Any idea why is it so? Thanks.
The two can end up competing for resources. The DC should not have any database intensive applications on it. It's too important for network services.
In addition to this, all software carries the risk of containing unknown vulnerabilities. Therefore, installing other software on your domain controller is considered a bad practice as it increases your exposure to possible vulnerabilities.
The security of all your computers in your domain depends on the security of your domain controller.
Here's some additional information from Microsoft concerning domain controller security:
Best Practice Guide for Securing Active Directory Installations and Day-to-Day Operations
That would be a horrible idea. You would compromise your DC and your NPM install.