Engine classes and world generation.

Hello. I’m trying to make a competent world generation, in which chunks will be rendered and unloaded.
The question is how to use FRunnable and the classes of the RenderCore folder, such as IndexBuffer, FVertexBuffer, and so on.
Question: The Lundskape is built using the ProceduralMesh component, the heights are calculated by PerlinNoise. If I will generate it on chunks, for example 16 on 16 and break it into RunnableThread? Is this really real and worth it? How to do it approximately? I understand that I need to create a class that will be inherited from FRunnable. And I will use all the functions from there. It’s all clear, all right. But how to do that? I after all need to have access to proceduralMesh in this class with FRunnable … All the main load after all goes, when directly goes CreateSection, a land-scape is created, and not just coordinates are calculated. In general, how to use FRunnable in this case?
The same question is with RenderCore. I understand that I create classes that inherit FIndexBuffer, etc. But how will this be used? How it works?
And please, tell me how it is better to implement save and load game system in the unreal. How to make all the changes in the openword were saved, and then loaded into the game? Like it happens in any game, for example: Vampyr.
Many thanks.