Zorin 16 - OS Freezes after unplugging dual monitor setup

Hey everyone

I use Zorin 16 Core on my work computer and have a dual-screen setup that I connect using 2 separate USB C connectors. The laptop I use is a Lenovo X1 Carbon that has 2 USB C connectors. When I plug them in, both screens work perfectly and without any issues. However, if I unplug both screens simultaneously or just unplug them too quickly after each other and don't allow the OS to re-calibrate, then Zorin instantly freezes, and I have to force shut down the PC.

I love this OS, but this issue has become a really annoying one and results in me having to restart my PC several times a day, if I have to get up and take my pc with me.

Edit: It should also be noted that the screens also charge my PC via the USB-c.

System:
  Kernel: 5.11.0-27-generic x86_64 bits: 64 compiler: N/A 
  parameters: BOOT_IMAGE=/boot/vmlinuz-5.11.0-27-generic 
  root=UUID=8fbdf9a8-3b3d-419c-8caf-d48d2bf9fb40 ro quiet splash 
  vt.handoff=7 
  Desktop: Gnome 3.38.4 wm: gnome-shell dm: GDM3 3.38.2.1 
  Distro: Zorin OS 16 base: Ubuntu 20.04 LTS Focal 
Machine:
  Type: Laptop System: LENOVO product: 20QD00L3MX v: ThinkPad X1 Carbon 7th 
  serial: <filter> Chassis: type: 10 serial: <filter> 
  Mobo: LENOVO model: 20QD00L3MX v: SDK0J40697 WIN serial: <filter> 
  UEFI: LENOVO v: N2HET64W (1.47 ) date: 07/19/2021 
Battery:
  ID-1: BAT0 charge: 49.0 Wh condition: 49.5/51.0 Wh (97%) volts: 16.4/15.4 
  model: SMP 02DL005 type: Li-poly serial: <filter> status: Discharging 
  cycles: 24 
  Device-1: hidpp_battery_0 model: Logitech Wireless Mouse MX Master 3 
  serial: <filter> charge: 100% (should be ignored) rechargeable: yes 
  status: Discharging 
CPU:
  Topology: Quad Core model: Intel Core i5-8265U bits: 64 type: MT MCP 
  arch: Kaby Lake family: 6 model-id: 8E (142) stepping: C (12) 
  microcode: EA L2 cache: 6144 KiB 
  flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx 
  bogomips: 28800 
  Speed: 2501 MHz min/max: 400/3900 MHz Core speeds (MHz): 1: 2500 2: 2501 
  3: 2500 4: 2500 5: 2500 6: 2500 7: 2501 8: 2500 
  Vulnerabilities: Type: itlb_multihit status: KVM: VMX disabled 
  Type: l1tf status: Not affected 
  Type: mds status: Not affected 
  Type: meltdown status: Not affected 
  Type: spec_store_bypass 
  mitigation: Speculative Store Bypass disabled via prctl and seccomp 
  Type: spectre_v1 
  mitigation: usercopy/swapgs barriers and __user pointer sanitization 
  Type: spectre_v2 mitigation: Enhanced IBRS, IBPB: conditional, RSB filling 
  Type: srbds mitigation: TSX disabled 
  Type: tsx_async_abort status: Not affected 
Graphics:
  Device-1: Intel UHD Graphics 620 vendor: Lenovo driver: i915 v: kernel 
  bus ID: 00:02.0 chip ID: 8086:3ea0 
  Display: x11 server: X.Org 1.20.11 driver: i915 compositor: gnome-shell 
  resolution: 1920x1080~60Hz 
  OpenGL: renderer: Mesa Intel UHD Graphics 620 (WHL GT2) v: 4.6 Mesa 21.0.3 
  direct render: Yes 
Audio:
  Device-1: Intel Cannon Point-LP High Definition Audio vendor: Lenovo 
  driver: sof-audio-pci bus ID: 00:1f.3 chip ID: 8086:9dc8 
  Sound Server: ALSA v: k5.11.0-27-generic 
Network:
  Device-1: Intel Cannon Point-LP CNVi [Wireless-AC] driver: iwlwifi 
  v: kernel port: 2000 bus ID: 00:14.3 chip ID: 8086:9df0 
  IF: wlp0s20f3 state: up mac: <filter> 
  Device-2: Intel Ethernet I219-V vendor: Lenovo driver: e1000e v: kernel 
  port: efa0 bus ID: 00:1f.6 chip ID: 8086:15be 
  IF: enp0s31f6 state: down mac: <filter> 
Drives:
  Local Storage: total: 238.47 GiB used: 13.94 GiB (5.8%) 
  SMART Message: Required tool smartctl not installed. Check --recommends 
  ID-1: /dev/nvme0n1 vendor: Western Digital 
  model: PC SN730 SDBQNTY-256G-1001 size: 238.47 GiB block size: 
  physical: 512 B logical: 512 B speed: 31.6 Gb/s lanes: 4 serial: <filter> 
  rev: 11170101 scheme: GPT 
Partition:
  ID-1: / raw size: 237.97 GiB size: 233.24 GiB (98.01%) 
  used: 13.93 GiB (6.0%) fs: ext4 dev: /dev/nvme0n1p2 
Sensors:
  System Temperatures: cpu: 91.0 C mobo: N/A 
  Fan Speeds (RPM): cpu: 2944 
Info:
  Processes: 295 Uptime: N/A Memory: 15.32 GiB used: 1.27 GiB (8.3%) 
  Init: systemd v: 245 runlevel: 5 Compilers: gcc: N/A Shell: bash v: 5.0.17 
  running in: gnome-terminal inxi: 3.0.38