I figured it out. Make sure you have both Scales and a Scale within the collection. I was doing this which is wrong:
<sf:SfLinearGauge Grid.Column="4" Margin="10,1,0,1" HorizontalOptions="CenterAndExpand" VerticalOptions="Center" Orientation="OrientationHorizontal" FrameBackgroundColor="Black">
<sf:SfLinearGauge.Scales MinimumValue="0" MaximumValue="100" ScaleBarLength="70" ShowRim="true" ShowLabels="false" ScaleBarColor="White" ScaleBarSize="12">
<sf:LinearScale.Ranges>
<sf:LinearRange x:Name="lowUsed" StartValue="0" Color="Green" EndValue="33" StartWidth="8" EndWidth="8" />
<sf:LinearRange x:Name="medUsed" StartValue="34" Color="Yellow" EndValue="67" StartWidth="8" EndWidth="8" />
<sf:LinearRange x:Name="highUsed" StartValue="68" Color="Red" EndValue="100" StartWidth="8" EndWidth="8" />
</sf:LinearScale.Ranges>
<sf:LinearScale.Pointers>
<sf:SymbolPointer x:Name="symbolPointer" Value="{Binding memoryUsed}" Offset="0.0" Thickness="3" Color="Black"/>
</sf:LinearScale.Pointers>
</sf:SfLinearGauge.Scales>
</sf:SfLinearGauge>
This is what I should have done:
<sf:SfLinearGauge Grid.Column="4" Margin="10,1,0,1" HorizontalOptions="CenterAndExpand" VerticalOptions="Center" Orientation="OrientationHorizontal" FrameBackgroundColor="Black">
<sf:SfLinearGauge.Scales>
<sf:LinearScale MinimumValue="0" MaximumValue="100" ScaleBarLength="70" ShowRim="true" ShowLabels="false" ScaleBarColor="White" ScaleBarSize="12">
<sf:LinearScale.Ranges>
<sf:LinearRange x:Name="lowUsed" StartValue="0" Color="Green" EndValue="33" StartWidth="8" EndWidth="8" />
<sf:LinearRange x:Name="medUsed" StartValue="34" Color="Yellow" EndValue="67" StartWidth="8" EndWidth="8" />
<sf:LinearRange x:Name="highUsed" StartValue="68" Color="Red" EndValue="100" StartWidth="8" EndWidth="8" />
</sf:LinearScale.Ranges>
<sf:LinearScale.Pointers>
<sf:SymbolPointer x:Name="symbolPointer" Value="{Binding memoryUsed}" Offset="0.0" Thickness="3" Color="Black"/>
</sf:LinearScale.Pointers>
</sf:LinearScale>
</sf:SfLinearGauge.Scales>
</sf:SfLinearGauge>