I'm using SQL Server 2000 and am having the intermittant problem of resources getting locked and not being released after they have been finished with.

Obviously, this could happen if an explicit transaction was started and not committed/rolled back but does anybody know of any other ways in which this would happen?