It is general practice to recommend NOLOCK to improve performance of query, though it result in dirty reads. But if dirty reads are fine in context of a code segment NOLOCK is recommended most of time. While looking for Error 605 explanation and remedy stumbled upon this on microsoft site.
Error 601
Severity Level 12
Message Text
Could not continue scan with NOLOCK due to data movement.
Explanation
When scanning with the NOLOCK locking hint or with the transaction isolation level set to READ UNCOMMITTED, it is possible for the page at the current position of the scan to be deleted. When this happens, Microsoft SQL Server is not able to continue the scan.
Action
This error aborts the query. Either resubmit the query or remove the NOLOCK locking hint.