Si la verificación se hace cada vez que se manda algo al server, dejaría en posibilidad de que algo se quedara en el carrito mucho mas tiempo si el usuario ya no interactua con el sitio.
Una tarea programada que verifique la tabla de los productos en reserva y libere los que tengan más de 10 minutos, junto con un cronometro de cliente que refresque la página pasados 10 minutos sin actividad.
supongo