the lock/unlock should be inside the DeleteClient call to avoid mistakes.