Drawing complex shape in Blender 2.83
I'm not sure I understand the question, but I'll take a stab at it anyway, and you can let me know how close I came. If you want, of course.

It seems there are two questions: 1) How to render without strange artifacts, (or just how to model this form best in general) and 2) How to fill in the top-most open face of an object like the one you have shown. 

This is my best guess as to what you are wanting to know. If I'm wrong, I apologize, but this is what I'm going to focus on until I know for sure.

Regarding 1): I'm still weak when it comes to rendering advice, but I do know that clean geometry is the starting point for getting renders to look right. There are many other factors, of course, but  geometry is the starting point, and that's something I know a little bit about. So you want to start with clean geometry. This leads us into a discussion about how to model your form.

Given the uniformity of it and the vertical nature of it, I would simply draw a top-view of the entire shape using curves. But then you will want to convert those curves to a mesh object before extruding it upward. Mesh objects and curve objects can be converted back and forth between one another using the Object Menu at the top of the 3D-View while in Object Mode. 



After the conversion from curve to mesh, go into Edit Mode to extrude the shape upward. As for the fill, choose to select by Edges with the Number 2 key, and then hold Alt while selecting any one of the top most edges of the shape in order to select the entire top-most edge loop. Then press the 'f' key to fill in the top side of the shape.

One final note: Rather than start all over modeling this, it might be better to select a single edge loop while in Edit Mode, using Shift-D to duplicate that edge loop, pressing 'p' to bring up the Separate menu, and then separate by selection. This will make the edge loop its own independent mesh object. You could then attempt your extrusion beginning from this new mesh object, rather than modeling a whole new curve object and converting it. 

The purpose of this whole procedure, by the way, is to test your results to see if they still have the artifact weirdness from earlier. If not, then this means you have created a repaired version of your mesh by following these steps.