Home button is generally discouraged, msdn source:
Placing a Home button in your user interface deviates from the Windows Phone navigation model.
Implementing a Home button in your app may also cause a second issue, one that has a much more severe implications for your app: it might inadvertently create a scenario where a user can get stuck in an infinite (or near infinite) loop when he or she uses both your Home button and the hardware Back button to navigate. This loop may get worse if they use the Back button to move from one app back through your app just to get to another. Ensure that these issues don’t affect your app.
However, try to keep the architecture of your app as shallow as possible, and make use of lists and pivots so that the user can navigate back to the landing screen with few steps back and from there to previous launched apps.
But there will be applications that cannot have shallow navigation and require a home button, for example google drive or dropbox folders browser - after going deep in the folder structure user will want to quickly navigate to main page. Guidelines, msdn source:
If your app lets users pin pages, consider whether a home button is required to let the user get back to the root of the app quickly. A home button navigates to the home page of the app and then clears the entire navigation back stack.
For example, if the pinned page is a shopping cart, the user may want to complete the purchases in the shopping cart and then start shopping again. In this case, giving the user a home button improves the user experience by reducing the number of taps they need to get back to the start of the app.
In your MainPage:
protected override void OnNavigatedTo(NavigationEventArgs e)
{
while (NavigationService.BackStack.Any())
NavigationService.RemoveBackEntry();
base.OnNavigatedTo(e);
}