• If you only have shared locks, you cannot generate a deadlock. The only possibility would be if there ended up some kind of deadlock within the system tables while trying to asquire locks. I have never seen this and it would likely have to be a bug in the database engine.

    I would suspect something else is happening in the database that you are unaware of. There is some updating or inserting also happening. You may want to start by checking the transaction log.

    Lock escalation does not change the lock type. So, if you have a regular select statement, even escalating to a table lock will still be a shared lock.