<p>I have an idea for a web-based service. The implementation is very complex. There will be very few users, and the traffice will be fairly low, but the server-side code could require a lot of resources. Ideally I'd need to have as much control over the servers as possible.</p>

<p>How should I arrange hosting for this, when it comes time to release it to the public? </p>

<p>Should I do the hosting myself, from my own servers? Trouble is, since I'm not quite an expert on .NET hosting, it might take time to learn and I might make big mistakes.</p>

<p>The trouble with using a hosting company is, they might steal my idea, or else, it might cost a lot. Since I'm an un-funded startup I don't have a lot of money to throw at this.</p>

A lot of hosting providers are able to provide you with a dedicated server or VPS (Virtual Private Server) where you run a virtual machine on shared hardware. I have used
HostMySite
for VPS in the past and the service was very good. Dedicated and VPS hosting will cost much more than a shared hosting situation, but probably a safer bet than buying your own hardware, running in the high-speed backbone, dealing with backups, climate control, generators for power outages, etc.
update:
I missed the part about the hosting company stealing your idea. Somebody will take your idea, but ideas alone are worthless... it's all about the execution, and I don't think people at your hosting company would copy your code directly.