Reasons for object getting stuck (2D)?

I have a static cave outline as an array of EdgeCollider2D components.
I have a space ship with a PolygonCollider2D in the shape of a triangle and a RigidBody2D.
I move the ship with AddForce(), and rotate the ship with MoveRotation().
Collision Detection Continuous, Interpolate. Contact Offset 0.001. Fixed Timestep 0.01.

Sometimes the ship gets stuck with its pointy end in the wall… It can happen both when I run fast into the wall or slow. It doesn’t happen often. I think it is happening more often on Unity 2021.1.6f1 than 2019.2.10f1. It happens on 60fps Windows as well as 90fps VR device.

I asked this question on the forum, got no answer in a 4 days, I don’t see how forum.unity is going to replace answers.unity…

Contact offset was the first I tried, but It will become a visible gap quickly. It is so tiny because It is a VR game where your camera moves 1 Unit per 1 real meter, fixed fov, so I’m locked in with the scaling of stuff, 1mm is not that little. Object movement is of-course smaller too.

I decided to give it another try. I ended up

//setting edgeRadius on all EdgeCollider2D
EdgeCollider2D[] mapColliders = gameObject.GetComponents<EdgeCollider2D>();
for (int i = 0; i < mapColliders.Length; i++)
    mapColliders*.edgeRadius = 0.000002f;*

//setting Physics2D parameters
Physics2D.maxAngularCorrection = 360f; //not sure if needed
Physics2D.maxTranslationSpeed = 0.05f;
Physics2D.maxRotationSpeed = 90f; //not sure if needed
Not yet got stuck. I also tried to detect if I was stuck and move ship back to old position/rotation, and modify velocity after collision has happened and things, but it changed how the physics worked with sliding and so on, so you must really never get stuck in the first place. Hope it holds.