It seems when an app has a RunScreenSaver() function, roku will use that for the screen saver when the app is running*, and if that function returns, the default "Roku" logo screen saver is used. It is possible to have the configured screensaver (some other screen saver that is configured in the system screen saver settings) run when that function returns instead of the default Roku logo one. This would allow an app to have an option of using the system configured screensaver instead of the private one, or only using the private one in certain circumstances.
* Speaking of which, is this formally documented anywhere? I only see this from various examples, but can't see that in any documentation. The manifest file docs list the screensaver_title and screensaver_private attributes, but those don't even seem necessary (i.e. if the app has a RunScreenSaver function, it will be used regardless of the presence of those attributes in the manifest)?