Word to the wise, unless you want to spend hours tracking down idiotic Stack Overflows, check your Sitemap files in ASP.NET. Each sitemap node can contain a 'Provider' attribute. This is designed so that you can set up several sitemaps, and have a master sitemap file pull submenuitems from seperate sitemap files (or databases, depending on your sitemap provider configuration, and whether you rolled your own. However, if you mistakenly point a sitemap provider node to the same provider that references the sitemap file you're in, you'll get a stack overflow error. This was tricky because its actually the webserver that blows the stack, so you can't debug or trace your way out of it. What a fool I've been :)