Is it possible to return form, themes, content in an array for my page callback function?
Remember that theme('table'.. returns HTML markup, so you are assigning a HTML string to the my_table key. In the example you linked drupal_get_form was being used which returns a renderable array, so it would have functioned correctly. Since render() doesn't know what to do with an HTML string, you must pass the render function the information before it has been turned into HTML:

return array(
  'my_content' =&gt; array(
    '#type' =&gt; 'markup',
    '#markup' =&gt; 'Some markup',
  ),
  'my_table' =&gt; array(
    '#theme' =&gt; 'table',
    '#header' =&gt; $header,
    '#rows' =&gt; $rows,
  ),
);