You've got too many triangles in a single surface. I hit upon this problem with my single surface entity system a few months ago. I'm not sure of the exact figure, but I found it to be over 40,000 triangle per surface, so I think your maths might still be out. But yeah, I'm pretty sure that a Memory Access Violation on RenderWorld is because you have more triangles in a surface than DirectX can support.
The solution? 2 Surfaces, I suppose. Or 4. Whatever's easiest.
The solution? 2 Surfaces, I suppose. Or 4. Whatever's easiest.