McGrath was born in London and grew up near Broadmoor Hospital from the age of five where his father was Medical Superintendent. He was educated at a Jesuit boarding school in Windsor from the age of thirteen, before moving to another Jesuit public school, Stonyhurst College in Lancashire, upon the closure of his first school. In 1967, at the age of sixteen, he ran away from this institution to London. He graduated from the Birmingham College of Commerce with an honours degree in English and American literature in 1971, awarded externally by the University of London, before his father found him a job later that year in Penetang, Ontario working in the Oakridge top-security unit of the Penetang Mental Health Centre.