Appending string causing link to render as plain html
The toString method of Link returns the HTML string for the link object.

HTML strings in the table render array are wrapped in a markup element which escapes many HTML tags for security concerns.

You can, however, pass your own render array in the row as follows:

$table['#rows'][0]['item']['data'] = [
  '#type' =&gt; 'inline_template',
  '#template' =&gt; '{{ link1 }}, {{ link2 }}, {{ link3 }}',
  '#context' =&gt; [
    'link1' =&gt; $link1-&gt;toRenderable(),
    'link2' =&gt; $link2-&gt;toRenderable(),
    'link3' =&gt; $link3-&gt;toRenderable(),
  ]
];