Is SQL Server Thread Safe?
Is Sql server thread-safe?


This issue is not with that SQL Server being thread safe or not.The issue is there with SQL Server Connection Pooling

In Short:- Whenever a user calls Open on a connection, the pooler looks for an available connection in the pool. If a pooled connection is available, it returns it to the caller instead of opening a new connection. More reading from the link above.

Things to try with Connection object to fix this


Don't reuse connections or any ADO.NET objects at all and don't make them static.
Always create, open(in case of Connections), use, close and dispose them where you need them
Use the using-statement to dispose and close(Connections) implicitely


Now update on same row:
If the update statement are to acquire a row/table lock, for instance, any other update process to the same row/table at the same time would be blocked.

Further Reading:

Locking and Row Versioning
and Table Hints