Permission of ~/.Trash is always gone after Time machine backup
I solve the problem by checking which process use .Trash path by lsof | grep ~/.Trash

I found that the background service of VyprVPN app use /.Trash (still I don't know why). So I clean up VyprVPN app. Problem solved.