diff --git a/src/runtime/Finalizer.cs b/src/runtime/Finalizer.cs
index e796cacd1..f4b465ecb 100644
--- a/src/runtime/Finalizer.cs
+++ b/src/runtime/Finalizer.cs
@@ -106,6 +106,7 @@ internal IncorrectRefCountException(IntPtr ptr)
#endregion
+ [ForbidPythonThreads]
public void Collect() => this.DisposeAll();
internal void ThrottledCollect()
diff --git a/src/runtime/Native/NewReference.cs b/src/runtime/Native/NewReference.cs
index 25145fc4f..f7a030818 100644
--- a/src/runtime/Native/NewReference.cs
+++ b/src/runtime/Native/NewReference.cs
@@ -47,7 +47,7 @@ public PyObject MoveToPyObject()
///
public NewReference Move()
{
- var result = new NewReference(this);
+ var result = DangerousFromPointer(this.DangerousGetAddress());
this.pointer = default;
return result;
}
diff --git a/src/runtime/Runtime.cs b/src/runtime/Runtime.cs
index 20bef23d4..88a8ed173 100644
--- a/src/runtime/Runtime.cs
+++ b/src/runtime/Runtime.cs
@@ -359,6 +359,7 @@ static bool TryCollectingGarbage(int runs, bool forceBreakLoops)
///
/// Total number of GC loops to run
///
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: