This is just a theory, but since the constructor may contain code that can cause side effects, someone may decide to build an unused object just to run this code. If you do not have a constructor and never refer to the object you created, then you can safely determine that the object has no purpose.
source share