Why is my custom created (at runtime) mesh shading so weird?

I’m working on a little project that involves creating a mesh at runtime. I generate a bunch of vertices, assign triangles, and then send it out to the meshFilter. I’m not editing UVs, because i’m not using textures. For normals, I run finalMesh.RecalculateNormals();. When I run the project however, I get a really weird shading on the object:



I’m not going to add all my code because it is rather large, but I will add bits and pieces if you ask for them.