diff --git a/src/Ryujinx.Cpu/Jit/HostTracked/AddressSpacePartitionAllocator.cs b/src/Ryujinx.Cpu/Jit/HostTracked/AddressSpacePartitionAllocator.cs
index a49e0179d..f39b295cd 100644
--- a/src/Ryujinx.Cpu/Jit/HostTracked/AddressSpacePartitionAllocator.cs
+++ b/src/Ryujinx.Cpu/Jit/HostTracked/AddressSpacePartitionAllocator.cs
@@ -115,6 +115,9 @@ namespace Ryujinx.Cpu.Jit.HostTracked
             }
 
             private readonly AddressIntrusiveRedBlackTree<Mapping> _mappingTree;
+            
+            // type is not Lock due to the unique usage of this mechanism,
+            // an arbitrary object is used as the lock passed in by constructor.
             private readonly object _lock;
 
             public Block(MemoryTracking tracking, Func<ulong, ulong> readPtCallback, MemoryBlock memory, ulong size, object locker) : base(memory, size)
@@ -174,6 +177,9 @@ namespace Ryujinx.Cpu.Jit.HostTracked
 
         private readonly MemoryTracking _tracking;
         private readonly Func<ulong, ulong> _readPtCallback;
+        
+        // type is not Lock due to the unique usage of this mechanism,
+        // an arbitrary object is used as the lock passed in by constructor.
         private readonly object _lock;
 
         public AddressSpacePartitionAllocator(
diff --git a/src/Ryujinx.HLE/HOS/Kernel/Common/KResourceLimit.cs b/src/Ryujinx.HLE/HOS/Kernel/Common/KResourceLimit.cs
index 90231b460..ce2b7185a 100644
--- a/src/Ryujinx.HLE/HOS/Kernel/Common/KResourceLimit.cs
+++ b/src/Ryujinx.HLE/HOS/Kernel/Common/KResourceLimit.cs
@@ -15,7 +15,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Common
         private readonly long[] _current2;
         private readonly long[] _peak;
 
-        private readonly object _lock = new();
+        private readonly Lock _lock = new();
 
         private readonly LinkedList<KThread> _waitingThreads;
 
diff --git a/src/Ryujinx.HLE/HOS/Kernel/Threading/KCriticalSection.cs b/src/Ryujinx.HLE/HOS/Kernel/Threading/KCriticalSection.cs
index bfa6b68f6..b3fe5f1b6 100644
--- a/src/Ryujinx.HLE/HOS/Kernel/Threading/KCriticalSection.cs
+++ b/src/Ryujinx.HLE/HOS/Kernel/Threading/KCriticalSection.cs
@@ -5,10 +5,10 @@ namespace Ryujinx.HLE.HOS.Kernel.Threading
     class KCriticalSection
     {
         private readonly KernelContext _context;
-        private readonly object _lock = new();
         private int _recursionCount;
-
-        public object Lock => _lock;
+        
+        // type is not Lock due to Monitor class usage
+        public object Lock { get; } = new();
 
         public KCriticalSection(KernelContext context)
         {
@@ -17,7 +17,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Threading
 
         public void Enter()
         {
-            Monitor.Enter(_lock);
+            Monitor.Enter(Lock);
 
             _recursionCount++;
         }
@@ -33,7 +33,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Threading
             {
                 ulong scheduledCoresMask = KScheduler.SelectThreads(_context);
 
-                Monitor.Exit(_lock);
+                Monitor.Exit(Lock);
 
                 KThread currentThread = KernelStatic.GetCurrentThread();
                 bool isCurrentThreadSchedulable = currentThread != null && currentThread.IsSchedulable;
@@ -56,7 +56,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Threading
             }
             else
             {
-                Monitor.Exit(_lock);
+                Monitor.Exit(Lock);
             }
         }
     }
diff --git a/src/Ryujinx.HLE/HOS/Services/Sockets/Bsd/Impl/EventFileDescriptor.cs b/src/Ryujinx.HLE/HOS/Services/Sockets/Bsd/Impl/EventFileDescriptor.cs
index 5b9e6811d..05fc91d32 100644
--- a/src/Ryujinx.HLE/HOS/Services/Sockets/Bsd/Impl/EventFileDescriptor.cs
+++ b/src/Ryujinx.HLE/HOS/Services/Sockets/Bsd/Impl/EventFileDescriptor.cs
@@ -10,6 +10,7 @@ namespace Ryujinx.HLE.HOS.Services.Sockets.Bsd.Impl
         private ulong _value;
         private readonly EventFdFlags _flags;
 
+        // type is not Lock due to Monitor class usage
         private readonly object _lock = new();
 
         public bool Blocking { get => !_flags.HasFlag(EventFdFlags.NonBlocking); set => throw new NotSupportedException(); }