It is known that, in general, the union of infinitely many closed sets need not be closed. However, in the following case, apparently, the union is closed:
Suppose there is a large closed polygon $C$, inside which there is a square $S$ (green). Consider the set of all closed convex objects that contain $S$ and are contained in $C$. Then, apparently, the union of all these closed objects is closed.
My questions:
- Is the above claim true, and if so, how to prove it?
- In general, what are conditions for infinite set of closed sets to be closed, especially in $\mathbb{R}^2$?

The claim is true. Let $A$ be the set you define and which we wish to prove closed.
A point $x$ belongs to $A$ if and only if the convex hull of $S \cup \{x\}$ is contained in $C$. (In that case, its closure is also contained in $C$.) This convex hull consists in turn of the union $B_x$ of all segments joining $x$ to a point in $S$.
$B_x$ is convex because if $xz_1 z_2$ is a triangle with $z_1, z_2 \in S$, and the points $y_1$ and $y_2$ lie on sides $xz_1$ and $xz_2$, respectively, then for any point $w$ on segment $y_1 y_2$ the ray $xw$ meets side $z_1 z_2$, which is contained in the convex set $S$.
Thus a point $x$ belongs to $A$ if and only if the segment $xz$ is contained in $C$ for every point $z$ in $S$. Therefore $A$ is the intersection, for all $z \in S$, of the set $C_z$ which is the union of all segments with one endpoint at $z$ which are contained in $C$. Hence we need only prove that $C_z$ is closed.
After a translation, we may assume $z = 0$. The set $C_0$ is the intersection of the sets $(1/t)C$ for all $t \in (0,1]$, and all the sets $(1/t)C$ are obviously closed.