You could try a few things, I see that you are using DestroyObject instead of just Destroy, and DestroyObject is an old and deprecated method, you could try changing it out to Destroy.
You could add a small timer to the Destroy method, it would be a quick fix if it actually work. The Destroy(object target, float timer) has an overload that allow you to add a timer to be counted before destroying something, it could fix a few problems that might happen in the actual physics loop step or update loop step after something Collider and get destroyed, try changing the DestroyObject(cool.gameObject); to Destroy(cool.gameObject, 0.2f);
Another thing that could be happening is that you could be deleting the wrong GameObject, check if the Collider is within the root of the projectile (the parent and not the child). If the Collider is within the child, then you are destroying just the child and the parent will continue to exist (which could cause some problems.
Sorry for not remembering a lot about those games structure 
The console won’t always point to the right place for us to look (but in the majority of the times it will).