"Я использую приложение WPF, а сервер написан на WCF, однако этого можно достичь. Но что в случае, когда пользователь открыл приложение и неактивно в течение 30 минут?"
Эта система будет однопользовательской, поэтому я предлагаю вам запустить поток счетчиков, когда пользователь входит в систему. Когда счетчик достигнет 30 минут, запишите значение в БД, указывающее, что у пользователя истекло время ожидания, а другие пользователи могут свободноавторизоваться.Очевидно, вы должны делать то же самое, когда пользователь явно выходит из системы.