When are the unnecessary row versions being removed from the version store
Now if we commit the first transactions that starts at 12:00, no row is being removed from the version store (even pass a minute).
The question is WHY ?

Minimal condition for a version row to be garbage collected is when SQL Server determines, based on the transactional states, that this version is no longer needed.
Also, referring to my SQL Server internals notes, for management of version store, SQL Server will perform a regular cleanup every minute with a background process to reclaim all the reusable space from the version store.
You can monitor Version generation rate and version cleanup rate in SQLServer:Transactions perfmon counter to find out rate at which space is acquired and released from version store in KB/Sec.
Check : Managing TempDB in SQL Server: TempDB Basics (Version Store: Simple Example)