When to use paging on a grid

We write business applications that may include grids. The grids can be use to show a lot of items such as all customer orders in the system or a shorter list say a list of tasks that a team has to complete. Usually the grids have say 7-8 columns.

Generally we add paging to the grid so that it shows the first 20 and the user can move to the next 20 etc. The grids also have sorting added to the columns. I am not sure the paging always makes sense which is what this question is about.

If we take the example where there are maybe 50 items in a grid it seems to me to make more sense to show the everything so if the user sorts by a column they can see the groups of records without paging. For example sorting a list of incidents connected to school so all the high priority incidents are together.

As this is a business application often the user is not searching for an individual record but curating a list for further action. In the event of a user trying to return a very large list of results via a search\filtering we would probably limit the results to the top 200 anyway (as if they are returning more than that they should be using the reporting tool instead). For instance they may want a list of tasks assigned to their team that are high priority and late. Generally we add filters to allow the user to extract the most common queries. In this scenario I can see how paging is perhaps helpful as there may still be 100-200 records returned which may be a too much to list on a single screen.

Also I would have thought on mobile devices not have paging and showing everything or having some sort of auto load as the user scrolls down the list would be more helpful.

Is there any best practice around using paging in grids in business application?