Just for anyone who ends up here - I had similar issue when unwinding after a split on property that did not exist.
WITH rememberMe, split(n.property, ",") as list
UNWIND CASE WHEN list = [] THEN [] ELSE list END AS l
RETURN rememberMe
was losing rememberME. Fixed with:
WITH rememberMe, split(CASE WHEN EXISTS(n.property) THEN n.property ELSE "" END, ",") as list
UNWIND CASE WHEN list = [] THEN [] ELSE list END AS l
RETURN rememberMe