diff --git a/Ryujinx.Core/OsHle/Handles/KProcessScheduler.cs b/Ryujinx.Core/OsHle/Handles/KProcessScheduler.cs
index 7cdf5f9caa..1300d2185e 100644
--- a/Ryujinx.Core/OsHle/Handles/KProcessScheduler.cs
+++ b/Ryujinx.Core/OsHle/Handles/KProcessScheduler.cs
@@ -161,6 +161,8 @@ namespace Ryujinx.Core.OsHle.Handles
                 if (AllThreads.TryRemove(Thread, out SchedulerThread SchedThread))
                 {
                     WaitingToRun[Thread.ProcessorId].Remove(SchedThread);
+
+                    SchedThread.Dispose();
                 }
 
                 SchedulerThread NewThread = WaitingToRun[Thread.ProcessorId].Pop();