You might want to break the operation up into smaller (500 max) item pieces and then verify via json output that you don't have errors.
Also don't forget command extensions like "--ignore-errors true" to ensure that warnings don't kill your operation.
I would post the additions in blocks of 250-500, publish, then proceed, and wait for visible confirmation in SmartConsole that you have the objects before proceeding with adding them to groups and such.
With large volume additions via the CLI API, I've noticed that back end processing and updating the database can take time.
You also may be taxing the management host's resources, which may need to expand to meet the real needs of the operation, so I would keep an eye on top and critical resources like memory and CPU.