El plegado / trazado del código de PyCharm genera límites incorrectos

Tengo un problema muy frustrante con PyCharm porque no quiere delinear correctamente el código para que los bloques se plieguen correctamente. He buscado por todo el lugar y no pude encontrar ayuda con este problema en particular. En pocas palabras, PyCharm parece decidir sobre límites de bloques sesgados para que los bloques se plieguen unos sobre otros. Es bastante irritante. ¿Alguna idea?

Ejemplo de comportamiento incorrecto de plegamiento:

Código a doblar

Intentar contraer _get_thread_name produce esto: introduzca la descripción de la imagen aquí

Ejemplo de comportamiento de plegado correcto:

introduzca la descripción de la imagen aquí introduzca la descripción de la imagen aquí

¡¡Finalmente!! Descubrí cómo eliminar las regiones de plegado no válidas. Si coloca el cursor en la línea que inicia un bloque de plegado no válido ( línea 106 en mi primer ejemplo ), haga clic con el botón derecho en cualquier lugar de esa línea y seleccione Folding -> Fold Selection / Remove Region y ¡se eliminará la anotación de plegado incorrecta!

Todavía no tengo ni idea de por qué se generan en primer lugar, pero al menos esta es una “solución” decente.

Puedes usar

 # region FooRegion ... your-code-here ... # endregion 

Esto creará regiones de plegado de código manualmente como en el estilo de estudio visual