Drupal 8 how to have custom tokens with html in them properly replaced

I wont get into how to make custom tokens in drupal 8, look here for that info
https://stefvanlooveren.me/blog/how-create-custom-image-token-drupal-8

Originally you would just put some kind of value like this and have it as plain string

$replacements[$original] = $active_profile->get('field_org_title')->value;

But here we are going to have a more complex output, having html markup in it and outputted properlly with calling
\Drupal\Core\Render\Markup::create

 case 'recipient-data':
          $user_id = $activity->get('field_activity_recipient_user')->target_id;
          $user = \Drupal::entityTypeManager()->getStorage("user")->load($user_id);
          $active_profile = \Drupal::entityTypeManager()->getStorage('profile')->loadByUser($user, "organisation_profile");

          // Designate the field we want to render.
          $field_name = 'field_org_address';
          $display = [
            'label' => 'hidden',
            'type' => 'field_address',
          ];
          // Retrieve a render array for that field with the given view mode.
          $build = $active_profile->$field_name->view($display);
          // Render the result.
          $address = \Drupal::service('renderer')->renderRoot($build);
          $replacements[$original] = \Drupal\Core\Render\Markup::create($active_profile->get('field_org_title')->value . $address);
break;

We are setting here token for "recipient-data" (nevermind what is that, its just some custom token I needed). We load used_id then load profile associated with that id and then render a specific field and in the end use \Drupal\Core\Render\Markup::create to add that data to token replacement.