we only need ROW_ID and ROW_VERSION returned from a table query. Also, there isn't a need to call queryresults.asRowSet() either. This is a minimum example:
syn.delete(syn.tableQuery("select ROW_ID, ROW_VERSION from syn123"))
In chatting w/ decided the best for users is to keep the suggestion to only get ROW_ID and ROW_VERSION as an advanced or scalable use case. However I still think the call to row sets is unnecessary and should be removed.