How to hide comments below the node, but not close them?
In modules/comment/comment.module we can see that hook_node_view() (comment_node_view()) is running on line 614. This is where the functions are firing to load all comments and attach them to the node. The first 2 sets of if () { ... } appear to be handling the add comment form and action link. Then the final block of code is finally adding the comments, which I believe is what you're actually most concerned about hiding, and I assume you want this skipped for performance reasons:

// Only append comments when we are building a node on its own node detail
// page. We compare $node and $page_node to ensure that comments are not
// appended to other nodes shown on the page, for example a node_reference
// displayed in 'full' view mode within another node.
if ($node-&gt;comment &amp;&amp; $view_mode == 'full' &amp;&amp; node_is_page($node) &amp;&amp; empty($node-&gt;in_preview)) {
  $node-&gt;content['comments'] = comment_node_page_additions($node);
}


I think this code is silly, because comment module should not be dependent on any particular hardcoded view mode. Hopefully this will change and become a setting in the UI.

Regardless, I've found a similar post that might interest you: Is there a way to stop comment_node_view from firing?

Basically you're wanting to use hook_module_implements_alter() to stop the comment module from being able to fire off hook_node_view(). Here is what you need to add to your custom module:

function hook_module_implements_alter(&amp;$implementations, $hook) {
  if ($hook == 'node_view') {
    unset($implementations['comment']);
  }
}