✅ why dispose call is the latest in the chain? - C#