Build custom module with similar maintenance mode behaviour
You are getting the regions being printed because your page callback is returning a string. If you want your page callback to just print your output, you need to change your code to the following one.

function my_custom_module_page_callback() {
  print theme('my_custom_module_template');
}


The reason is visible in drupal_deliver_html_page(), which uses the following code.

// Menu status constants are integers; page content is a string or array.
  if (is_int($page_callback_result)) {
    // Omissis
  }
  elseif (isset($page_callback_result)) {
    // Print anything besides a menu constant, assuming it's not NULL or
    // undefined.
    print drupal_render_page($page_callback_result);
  }

If your page callback returns NULL (which also happens when it doesn't have an explicit return statement), then drupal_render_page() will not be called. As result, just the output from your page callback will be returned to the browser.

This is what node_feed() does: It prints an RSS feed without letting Drupal output anything else. Contrary, the output would not be handled as a RSS feed from the client side.