Yeah, I would say that you definitely should load on a different thread. What that allows you to do is use the relative downtime of the menus to load. If the user is very quick and is able to blast through the menus, they will earn an increased load time before the mission. The stuff that is traditionally loaded here is graphics. This is mostly because of the time it takes to dump things into video memory. Of course, you''ll probably want to load the level and such at mission start time - a 1 to 2 second hit in most cases. Better than 30 seconds loading graphics. If you''re a bit iffy on separate threads, check out the tutorials on FlipCode.com on Multithreading. They are pretty informative and will pretty much give you an idea how to do it all.
Pythius