AddSplinePoint causing C++ infinite creation and creating in a loop

  1. When I added spline point manually using C++ as follows

const FVector position1(0, 0, 0);
SplineComponent->AddSplinePoint(position1, ESplineCoordinateSpace::Local, true);

It kept creating infinite number of points on top of each other. I called it in an overriden OnConstruction() function.
How can I create only one spline point?

  1. And also how can we create a spline points in a closed loop without in a line. I tried addinga few points with the last point creating on top of starting point. It didn’t work

Thanks in advance