Unless you specifically need it to run in a separate thread while the main app runs (i.e., to get data from the main app that's not available otherwise), why not just call RunScreensaver() directly from Main()/RunUserInterface()?
My Channels: http://roku.permanence.com - Twitter: @TheEndlessDev
Instant Watch Browser (NetflixIWB), Aquarium Screensaver (AQUARIUM), Clever Clocks Screensaver (CLEVERCLOCKS), iTunes Podcasts (ITPC), My Channels (MYCHANNELS)