How to create a bulge shape?

Actually I have and tried replicateing this workflow, However, I got the same uneven surface when using curves. Your example look promising.

Hopefully I can find more tutorials or case studies using TSplines to get a much better understanding of the package.