Criamos um aplicativo muito semelhante há vários anos e usamos praticamente a mesma abordagem.
A única coisa que voltou a nos morder foi que acabamos com muitos registros atribuídos a um usuário que essencialmente foram abandonados. Os usuários solicitaram a propriedade e, em seguida, nunca fizeram alterações e nunca liberaram a propriedade. Isso levou a registros no banco de dados que não puderam ser atribuídos a outros usuários.
Os usuários nem sempre fazem o que esperamos e, nesse caso, não previmos que um usuário inicie uma unidade de trabalho e, em seguida, pare. Tivemos que implementar um processo para redefinir a propriedade para null após o tempo X ter decorrido. Essa pode não ter sido a melhor solução, mas aconteceu dentro dos desejos do proprietário da empresa.