I'm writing an article serie on Free Threading internals. The first article explores the problem of tracking objects lifetime using reference counting in an efficient fashion: https://vstinner.github.io/free-threading-reference-counting.html We will see how the Gilectomy project started with atomic operations and then switched to buffered reference counting, and how the nogil project managed to solve the performance issue using Biased Reference Counting.