Community Tutorial: Understanding Procedural Content Generation (PCG)

Hello DEV Community, I want to spawn foliage on large area for a town or city that has millions of points where grass or tree are to be spawned on cesium terrain in unreal engine 5. Currently i got polygons in which i sample points based on density factor than on those points i spawn the trees or grass etc. but it severely chokes my main thread as Spawning related all things are only available on main thread in unreal engine. i am using PCG Graphs where i feed the polygons as spline in pcg graph than calculate in between points based on density factor and then calculate exact terrain height on those points but it lags too much on startup. Preparing PCG Tasks 80000. What are the best approaches to do this ?