As usual with hooks this is issue of timing.

 - your init function is hooked to admin load process, which works fine for most things;
 - however in this specific case function is added to filter in constructor of `WP_Comments_List_Table` class, and object is created in `edit-comments.php` after admin loader had been processed.

In my plugin for similar stuff I am removing it at `manage_edit-comments_columns` hook.