why don't you store the "DateTime.Now" in the IsolationStorageSettings, and check it directly in your Timer
then in you timer's event
settings["TimeBlocked"] = DateTime.Now;
when the timeElapsed is superior to 30min, stop the timer, allow the connexion, and set the TimeBlocked to null.
var timeElapsed = (settings["TimeBlocked"] as DateTime)- DateTime.Now;
like this even if your app is closed it still exist in the settings, each time you open it, check if TimeBlocked is null, if it's not null check if the timeElapsed is superior to 30min, if not, set the timer to check every second.
hope it helps