このあたりの話かな

https://docs.python.org/ja/3/c-api/long.html
PyObject *PyLong_FromLong(long v)
戻り値: 新しい参照。 次に属します: Stable ABI.

v から新たな PyLongObject オブジェクトを生成して返します。失敗のときには NULL を返します。

現在の実装では、-5 から 256 までの全ての整数に対する整数オブジェクトの配列を保持します。この範囲の数を生成すると、実際には既存のオブジェクトに対する参照が返るようになっています。