This issue is that your (second) RowDefinition is set to Auto.
This means it will grow as big as the contents. Unfortunately, there's nothing anywhere to then prevent the ListView from growing indefinitely to host all the items it contains. As the ListView then becomes as big as all the items it contains, it never needs to show the scrollbar. Yes, this happens even though the listview (and the grid's second row) grows past the bottom of the window.
The easiest way to address this is to force the row to be limited to not extend beyond the visible window space.
If you set the height of the second RowDefinition to be a star (see below) which will tell the row to take up all the available space (in the window) but no more. In turn, this limits the space available to the ListView and that then will cause the scrollbar to show once there are sufficient items in the list that scrolling becomes necessary.
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>