Project Euler #14 solution takes quite a long time
Consider the chains starting at 13 and 26. When you reach 26, you go over its whole chain. Later, you reach 13, and go over its whole chain too - but 13's chain is the same as 26's, only without the first number (26).

If you implemented collatzChain using recursion, just adding the decorator @functools.lru_cache would create a cache for your function, and thus prevent Python from repeating the same job twice.