Confusing problem with displaying message recipient metadata

As I see it, you could replace some things in the switch. You need to open and close , tag in the same case rule, do this avoid a lot error.

Like this

switch( $column ) {

        case 'recipientname' :
          <div class="recipentusername"><a href="https://wordpress.stackexchange.com/questions/243290/<?php echo um_user_profile_url(); ?>" target="_blank"><?php _e("", 'front-end-pm'); ?> <?php echo implode( $name );?> </a></div>
         <?php 
        break;

        case 'recipientimage' :
                ?></a></div><div class="recipientavatar"> <a href="https://wordpress.stackexchange.com/questions/243290/<?php echo um_user_profile_url(); ?>" target="_blank"> <?php echo implode( $image );
        break;
}

to filter your column response you don’t need to use in_array, but don’t forget to have a look to this function 🙂

function get_column_content($column) {
   $recipients = get_post_meta( get_the_ID(), '_recipients' );
   $name = array();
   $image = array();

  foreach( $recipients as $recipient ) {
     if($recipient != get_the_ID(){
         $name[] = fep_get_userdata( $recipient, 'display_name', 'id' );
         $image[] = get_avatar ( $recipient, 'id' );
     }
  }
}